gpt4 book ai didi

java - Eclipse - 为什么推断泛型建议用于 Java 的数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:35:21 25 4
gpt4 key购买 nike

You cannot create arrays of parameterized types , 所以这段代码在 Eclipse 中

ArrayList<Integer>[] list = new ArrayList[1];

无法参数化,但 Eclipse 显示警告

Type safety: The expression of type ArrayList[] needs unchecked conversion to conform to ArrayList<Integer>[]

并且还显示建议 Infer Generic Type Arguments提交时什么都不做。

Infer Generic Type Arguments Replaces raw type occurrences of generic types by parameterized types after identifying all places where this replacement is possible.

这个建议应该被删除还是我遗漏了什么?

最佳答案

是的,应该删除该建议。这里不可能用参数化类型替换原始类型,因为数组创建表达式必须使用可具体化的类型作为组件类型。这样做是违法的 new ArrayList<Integer>[1] .你只能做 new ArrayList[1]new ArrayList<?>[1] ,两者都会产生警告以转换为类型 ArrayList<Integer>[] (第二个将需要一个显式转换,它会产生一个未经检查的转换警告)。

关于java - Eclipse - 为什么推断泛型建议用于 Java 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53756616/

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