【发布时间】:2011-09-04 15:13:52
【问题描述】:
在 Java 泛型之前,Collection.toArray() 无法知道开发人员期望的数组类型(尤其是空集合)。据我了解,这就是成语 collection.toArray(new E[0]) 背后的主要理由。
使用泛型,Collection<E>.toArray() 只能返回一个包含 E 和/或其特化实例的数组。我想知道为什么返回类型仍然是Object[] 而不是E[]。在我看来,返回 E[] 而不是 Object[] 不应破坏现有代码。
见:Collection.toArray()、Collection.toArray(T[])及相关话题java: (String[])List.toArray() gives ClassCastException
【问题讨论】:
标签: java generics collections toarray