java - 初始化 java 集合,将泛型留空,例如: HashMap<A, B> hM = HashMap<>();

标签 java generics collections

我发现,从 java 1.5 或更高版本开始,您可以初始化 java 集合,将泛型留空,即使用 <> 而不是写出整个 。但我找不到这方面的官方文档,我想知道这是否有任何好处(或者也许我没有正确记住这一点,在这种情况下请指出正确的形式)。谢谢。!

最佳答案

它被称为 diamond operator 。它是在 Java 1.7 中引入的。

好处是您需要编写更少的代码。

比较

List<Map<String, Integer>> list = new ArrayList<Map<String, Integer>>();

List<Map<String, Integer>> list = new ArrayList<>();

关于java - 初始化 java 集合,将泛型留空,例如: HashMap<A, B> hM = HashMap<>();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32939314/

相关文章:

java - 通用类型 Java 中的接口(interface)

javascript - meteor 集合光标 forEach 不起作用

java - 没有可用于类型的源代码。您是否忘记继承所需的模块

java - 通用类型 toArray 和 asList

java - Java 中的 Collections.checkedList() 调用是什么?

java - 在 Java 中如何获取数组、集合或字符串的大小?

c# - ReSharper 显示可能对通用集合的值进行空赋值

java - log4j2结合Kafka性能不佳

java - StrutsTestCase 实现 - 编译错误

java - 其中哪一个是使用 tiles 的更好方法