我知道为什么我会收到警告(即将原始类型分配给参数化类型),但如果我忽略警告,我并不完全了解可能的序列。
List list = new ArrayList();
List<Integer> iList = list; // warning: unchecked conversion
最佳答案
您在运行时得到 ClassCastException
。编译器生成的转换可能会在运行时失败。这将违反泛型类型系统提供的基本保证。从字面上看,您的代码不是类型安全的。检查一下。
List list = new ArrayList();
List<Integer> iList = list;
list.add("wrong");
for (Integer integer : iList) {
System.out.println(integer);
}
这是您在运行时遇到的错误。
java.lang.String
无法转换为 java.lang.Integer
关于java - 忽略警告 :unchecked conversion in java 的后果是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53044863/