你将遇到的问题是集合,其中元素的唯一性是根据.equals()
和计算的.hashCode()
,例如HashMap
。
顾名思义,它依赖于哈希表,哈希存储桶是对象的函数.hashCode()
。
如果你有两个对象.equals()
,但是具有不同的哈希码,则会输掉!
合同中重要的部分是:必须具有相同的对象.equals().hashCode()
。
Java中的hashCode和equals方法之间的关系
你将遇到的问题是集合,其中元素的唯一性是根据.equals()
和计算的.hashCode()
,例如HashMap
。
顾名思义,它依赖于哈希表,哈希存储桶是对象的函数.hashCode()
。
如果你有两个对象.equals()
,但是具有不同的哈希码,则会输掉!
合同中重要的部分是:必须具有相同的对象.equals().hashCode()
。