作者:柳绿海蓝 | 来源:互联网 | 2023-01-31 18:51
在查看开源代码时,我多次遇到类似的语句
Map> map = Maps.newHashMap();
Maps
包装在哪里com.google.common.collect.Maps
(谷歌番石榴)
为什么我们不能简单地使用标准:
Map> map = new HashMap<>();
代替?
1> GhostCat say..:
重点是:在Java引入菱形运算符之前,您必须在执行时重复泛型类型参数
Map myMap = new HashMap()
番石榴叫声让你避免重复Whatever
.换句话说:由于Java具有菱形运算符,因此这只是一种无用的便利方法(并因此被弃用).它的JavaDoc清楚地解释了这一点.
newHashMap
public static HashMap newHashMap()
...
Java 7及更高版本的注意事项:现在不需要此方法,应将其视为已弃用.相反,直接使用HashMap构造函数,利用新的"菱形"语法.