将一个通用列表转换为数组
- 论坛
- 将一个通用列表转换为数组
21 浏览
将一个通用列表转换为数组
我已经搜索了这个问题,但不幸的是,我没有得到正确的答案。
class Helper {
public static
T[] array = (T[]) new Object[list.size()];
for (int i = 0; i < list.size(); i++) {
array[i] = list.get(i);
}
return array;
}
}
测试一下:
public static void main(String[] args) {
List
list.add("abc");
String[] array = toArray(list);
System.out.println(array);
}
但是会抛出一个错误:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
at test.Helper.main(Helper.java:30)
如何解决这个问题?
更新
我想要这个方法,因为有时候我的代码中类型太长了:
newEntries.toArray(new IClasspathEntry[0])
我希望能够调用:
toArray(newEntries)
最后
似乎不可能创建这样的方法,非常感谢大家的帮助!