Maps.newHashMap() 和 new HashMap<,>()的区别

大饼Ora 2016-12-13 10:08:56

Map<String, Object> result = Maps.newHashMap();
Map<String, Object> result = new HashMap<String,Object>();



这两种写法有什么区别
...全文
3082 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱睡觉的阿狸 2016-12-13
  • 打赏
  • 举报
回复 1
区别就是一个需要你手动加泛型,一个不需要你手动加,创建对象方式没什么区别,第一种是简化操作,不需要你手动写泛型。
  • 打赏
  • 举报
回复

 public HashMap() {
        this(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR);
    }
你去看它们调用的源码,就可以发现底层都是调用HashMap类的构造函数
  • 打赏
  • 举报
回复

Map<String, Object> result = new HashMap<String,Object>();
上面这种是java原生API写法 下面这种是google的guava.jar提供的写法,目的是为了简化代码。唯一的区别就是简化代码

Map<String, Object> result = Maps.newHashMap();
大饼Ora 2016-12-13
  • 打赏
  • 举报
回复
引用 2 楼 LinBilin_ 的回复:

 public HashMap() {
        this(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR);
    }
你去看它们调用的源码,就可以发现底层都是调用HashMap类的构造函数
了解。多谢
大饼Ora 2016-12-13
  • 打赏
  • 举报
回复
引用 3 楼 m2200 的回复:
区别就是一个需要你手动加泛型,一个不需要你手动加,创建对象方式没什么区别,第一种是简化操作,不需要你手动写泛型。
了解。ps::水区来块转啊

62,636

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧