make arrayList.toArray() 返回更具体的类型
因此,通常会返回一种....但假设它是一个对象,我如何使返回一种类型而不是?ArrayList.toArray()
Object[]
Arraylist
Custom
toArray()
Custom[]
Object[]
因此,通常会返回一种....但假设它是一个对象,我如何使返回一种类型而不是?ArrayList.toArray()
Object[]
Arraylist
Custom
toArray()
Custom[]
Object[]
喜欢这个:
List<String> list = new ArrayList<String>();
String[] a = list.toArray(new String[0]);
在Java6之前,建议编写:
String[] a = list.toArray(new String[list.size()]);
因为内部实现无论如何都会重新分配一个大小合适的数组,所以你最好提前完成。由于Java6是首选的空数组,请参阅.toArray(new MyClass[0])或.toArray(new MyClass[myList.size()])?
如果您的列表未正确键入,则需要在调用Array之前进行强制转换。喜欢这个:
List l = new ArrayList<String>();
String[] a = ((List<String>)l).toArray(new String[l.size()]);
它实际上不需要返回,例如:-Object[]
List<Custom> list = new ArrayList<Custom>();
list.add(new Custom(1));
list.add(new Custom(2));
Custom[] customs = new Custom[list.size()];
list.toArray(customs);
for (Custom custom : customs) {
System.out.println(custom);
}
这是我的班级:-Custom
public class Custom {
private int i;
public Custom(int i) {
this.i = i;
}
@Override
public String toString() {
return String.valueOf(i);
}
}