小编San*_*sal的帖子

为什么HashMap的get()比较Java中的哈希值和键?

我在看HashMapJDK8 的实现.在get方法中,我看到下面的行,用于查找与给定键匹配的Node.

if (e.hash == hash && ((k = e.key) == key || (key != null && key.equals(k))))
Run Code Online (Sandbox Code Playgroud)

为什么需要将哈希值与密钥进行比较?为什么上面的行不写为:

if (((k = e.key) == key) || (key != null && key.equals(k)))
Run Code Online (Sandbox Code Playgroud)

为什么这样做是否有任何解释?谢谢.

java comparison hashmap hashcode

8
推荐指数
2
解决办法
543
查看次数

标签 统计

comparison ×1

hashcode ×1

hashmap ×1

java ×1