码迷,mamicode.com
首页 > 其他好文 > 详细

HashMap中判断key条件

时间:2020-07-15 01:04:34      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:因此   style   object类   int   als   方式   ||   hashmap   方法   

if (p.hash == hash && ((k = p.key) == key || (key != null && key.equals(k))))

源码中为什么使用了equals判断相等后,同时需要判断hash码是否相同?

这里需要注意的是key可以使对象即Object类型的,也可以是Long、Integer等类型;

  如果是object作为key,实际判断key相等默认使用object=object方式,

  如果是Long、Integer类型作为key时,实际equals方法中判断的是值是否相同,因此有时会类型不同但是值相同,为了防止这种情况增加了hash码判断。

HashMap中判断key条件

标签:因此   style   object类   int   als   方式   ||   hashmap   方法   

原文地址:https://www.cnblogs.com/use-D/p/13303247.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!