Có ai biết tại sao Java 1.6 có hành vi này:tại sao Danh sách <String> .toArray() trả về Đối tượng [] chứ không phải String []? làm thế nào để làm việc xung quanh điều này?
List<String> list = ArrayList<String>();
String[] arr = (String[]) list.toArray();
Và tôi nhận được một ClassCastException, bởi vì nó sẽ trả về Object [] và không String [].
Tôi nghĩ List<T>.toArray()
phải trả lại T [] - không? Có ai có câu trả lời tại sao sự bất tiện này tồn tại trong ngôn ngữ không? Và cũng có cách giải quyết vấn đề này? Làm thế nào để nhận được một chuỗi [] từ List<String>
mà không lặp lại thông qua các mục?
Jave doesn' t thực sự có một khái niệm 'T []'. – Gabe
có thể trùng lặp của [java: (String \ [\]) List.toArray() cho ClassCastException] (http://stackoverflow.com/questions/5690351/java-stringlist-toarray-gives-classcastexception) –