gpt4 book ai didi

java - 对 Java 集合使用泛型的意外行为

转载 作者:行者123 更新时间:2023-11-29 03:22:14 25 4
gpt4 key购买 nike

我刚刚意识到的一些奇怪的事情:

Java 文档指出 List 集合有一个方法 T get(int index) ... 正如您所见该方法返回 T

不过我能做到:

List<Integer> l1 = new ArrayList<>();
l1.add(1);
List l2 = l1;
l2.add("Hello my friend");
Object o2 = l1.get(1);
System.out.println(o2);

结果是“你好我的 friend ”!! ...这不符合文档中的规定,因为结果应为整数!

还有其他可能的解释吗?

最佳答案

泛型是编译时检查。一旦您开始使用原始类型……您就是这样。这就是为什么原始类型是危险的,永远不应在新代码中使用。

关于java - 对 Java 集合使用泛型的意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22971000/

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