为什么Java的Collection<E>.toArray()返回一个Object[]而不是一个E[]?
2022-09-02 10:46:13
在Java泛型之前,没有办法知道开发人员期望哪种类型的数组(特别是对于空集合)。据我所知,这是成语背后的主要理由 。Collection.toArray()
collection.toArray(new E[0])
对于泛型,只能返回一个充满实例和/或其特化的数组。我想知道为什么返回类型仍然是一样而不是.在我看来,返回 an 而不是 不应该破坏现有的代码。Collection<E>.toArray()
E
Object[]
E[]
E[]
Object[]
参见:Collection.toArray()
,Collection.toArray(T[])
和相关主题java:(String[])List.toArray()给出了ClassCastException