相关疑难解决方法(0)

为什么Java的Collection <E> .toArray()返回一个Object []而不是一个E []?

在Java泛型之前,Collection.toArray()无法知道开发人员期望的数组类型(特别是对于空集合).据我了解,这是成语背后的主要理由collection.toArray(new E[0]).

使用泛型,Collection<E>.toArray()只能返回一个充满实例E和/或其特化的数组.我想知道为什么返回类型仍然Object[]不是E[].在我看来,返回一个E[]而不是不Object[]应该破坏现有的代码.

请参阅:Collection.toArray(),Collection.toArray(T[])以及相关主题的java:(字符串[])List.toArray()给出ClassCastException异常

java generics collections toarray

20
推荐指数
2
解决办法
5537
查看次数

标签 统计

collections ×1

generics ×1

java ×1

toarray ×1