在 Java 10 中,这给了我一个警告——
ArrayList a = new ArrayList<>();
a.add(23);
a.add("str");
“ArrayList 是原始类型。对泛型类型 ArrayList 的引用应参数化”
原因是Generic落后,但是对于这段代码
var b = new ArrayList<>();//Object type
b.add(3);
b.add("string");
为什么编译器没有给出任何警告?
注意:-我知道var
仅限于方法范围。只是想知道 var 的泛型设计概念
Edit1 :- 不要标记为重复,因为我只是想了解内部设计以及为什么 java 没有为 var 添加通用内容?