【发布时间】:2011-12-16 02:55:18
【问题描述】:
有人知道为什么 Java 1.6 有这种行为吗:
List<String> list = ArrayList<String>();
String[] arr = (String[]) list.toArray();
我得到一个 ClassCastException,因为它返回 Object[] 而不是 String[]。
我以为
List<T>.toArray() 应该返回 T[] - 不是吗?有谁知道为什么语言中存在这种不便?
还有如何解决这个问题?如何从 List<String> 获取 String[] 而无需遍历项目?
【问题讨论】:
-
Jave 并没有
T[]的概念。