最近遇到这样的代码:List<Person> somevar = new ArrayList<>();
我不明白如何用专门的泛型类型声明变量 List<Person>
可以使用非泛型类型构造函数 ArrayList<>();
后一个代码显然工作正常,但为什么呢?以及如何?
谢谢
最佳答案
它被称为Diamond Operator
,它只是一个语法糖,可以编写更少的代码。它相当于:
List<Person> somevar = new ArrayList<Person>();
它自 Java/JDK 7
起可用。
关于java - 具有非通用实现的通用类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31676413/