gpt4 book ai didi

java - 为什么 List.toArray() 返回泛型 Object[] 而不是 T[]?

转载 作者:行者123 更新时间:2023-12-01 16:49:30 25 4
gpt4 key购买 nike

例如:

List<String> items = new ArrayList<String>();
String[] aItems = items.toArray(); // type error, because toArray() returns Object[]

我明白事情就是这样,无法改变。当然我可以将它转换为 String[],但我想知道它背后的想法是什么?这是 Java 中的一个“bug”,还是有充分的理由?

最佳答案

灵 active 。

不传递任何参数的toArray()方法返回Object[]

有一个很好的理由是,现在您知道您期望哪种类型,并且该方法的作者不知道由于类型删除而在运行时返回哪种类型的数组。所以他们只是让它成为所有对象的 super 类型,即 Object,这就是它返回 Object[]

的原因

如果您想指定您的类型,它们很好并返回您的特定类型:)

String[] aItems= items.toArray(new String[0]);

关于java - 为什么 List<T>.toArray() 返回泛型 Object[] 而不是 T[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43362438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com