【发布时间】:2015-11-06 17:12:12
【问题描述】:
我注意到下面的代码在 netbeans 中是完全合法的:
HashSet<String> hashSet = new HashSet<>();
然而 eclipse 对此并不满意,我必须像这样初始化它:
HashSet<String> hashSet = new HashSet<String>();
// or
HashSet<String> hashSet = new HashSet();
有趣的是,netbeans 建议不要在初始化部分指定类型参数,而是使用菱形运算符? 我想知道这两种方法有什么区别。 以及应该使用哪一个,以便代码可以在不同的 IDE 中使用而无需任何更改。
【问题讨论】:
-
您的 Eclipse 语言级别设置为 6 或更低,不允许在 Java 7 中引入菱形运算符
<>。