Google Guava Maps与Java Util Map

时间:2017-06-20 02:06:09

标签: java guava

在查看开源代码时,我多次遇到像

这样的语句
Map<String, List<String>> map = Maps.newHashMap();

其中Maps是包com.google.common.collect.Maps(Google Guava)

为什么我们不能简单地使用标准:

Map<String, List<String>> map = new HashMap<>();

代替?

2 个答案:

答案 0 :(得分:6)

这里的要点:在Java引入菱形运算符之前,你必须在

重复泛型类型参数
Map<Whatever> myMap = new HashMap<Whatever>() 

番石榴召唤让你避免重复Whatever。换句话说:由于Java具有菱形运算符,因此这只是一种无用的便利方法(并因此被弃用)。它的JavaDoc clearly explains那个。

  

newHashMap

     

public static HashMap newHashMap()

     

...

     

Java 7及更高版本的注意事项:现在不需要此方法,应将其视为已弃用。相反,直接使用HashMap构造函数,利用新的“菱形”语法。

答案 1 :(得分:1)

JavaDoc

回答了您的问题
  

Java 7及更高版本的注意事项:现在不需要此方法,应将其视为已弃用。相反,直接使用HashSet构造函数,利用新的“菱形”语法。