Java HashMap初始化?
Java HashMap initialization?
我已经知道如何使用以下两种方式之一初始化Java HashMap
// way 1: apply generic type saftey
HashMap<String, Integer> hashMap1 = new HashMap<String, Integer>();
// way 2: general without apply generic type saftey
HashMap<String, Integer> hashMap2 = new HashMap();
我的问题
最佳做法是什么
根据 Eclipse 标记
Type safety: The expression of type HashMap needs unchecked conversion
to conform to HashMap
所以建议使用
new HashMap<String, Integer>();
但是根据 Sonar Linter
Replace the type specification in this constructor call with the
diamond operator ("<>").
所以建议使用
new HashMap();
哪个最好?为什么?
使用 Java 7 钻石运算符:
HashMap<String, Integer> hashMap2 = new HashMap<>();
Diamond <> 允许编译器隐式推断类型
我已经知道如何使用以下两种方式之一初始化Java HashMap
// way 1: apply generic type saftey
HashMap<String, Integer> hashMap1 = new HashMap<String, Integer>();
// way 2: general without apply generic type saftey
HashMap<String, Integer> hashMap2 = new HashMap();
我的问题
最佳做法是什么
根据 Eclipse 标记
Type safety: The expression of type HashMap needs unchecked conversion to conform to HashMap
new HashMap<String, Integer>();
但是根据 Sonar Linter
Replace the type specification in this constructor call with the diamond operator ("<>").
new HashMap();
哪个最好?为什么?
使用 Java 7 钻石运算符:
HashMap<String, Integer> hashMap2 = new HashMap<>();
Diamond <> 允许编译器隐式推断类型