java - 具有非通用实现的通用类型

标签 java generics interface

最近遇到这样的代码: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/

相关文章:

java - 从标准输入读取数据并找出它是什么类型?

java - 无法使用spring + apache-poi上传excel文件

c# - 如何检查游戏对象是否在 Unity 中具有组件方法?

python - 如何在Python中使用libcloud库

java - Spring Boot 在模块化 Java 中配置 DevTools

java - HttpClient 用于相对重定向的自定义重定向处理程序

c# - 将 IDbSet<class> 传递给泛型方法

根据调用者的决定返回一个值的c函数

java - 当另一个对象中的线程触发事件时,Swing 接口(interface)不更新组件

java - 选择接口(interface)或抽象类