为什么两个相等值的对象具有不同的hashCode,但是两个相等值的不同字符串具有相同的hashCode

问题描述 投票:0回答:1

Why 2 objects of equal value have different hashCode, but 2 different Strings of equal value have identical hashCode

java equals hashcode
1个回答
0
投票

每个对象获取都是自己的'空间',这可能会影响默认的hashCode实现。

  1. 如果您希望对象具有相同的代码,则必须编写自己的hashCode
  2. 字符串是pooled,因此jvm将智能地放置2个与相同对象具有相同值的字符串。这将导致相同的哈希码。
© www.soinside.com 2019 - 2024. All rights reserved.