两个对象的 hashCode()相同, equals()不一定为 true

hashCode() 的作用是获取哈希码,也称为散列码;它实际上是根据一个哈希函数返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。既然是根据函数返回,那么极有可能在两个不同的对象计算之后产生相同的哈希值。

而若 equls 返回为 true , 则两者的hashcode一定相等,即相等的对象具有相等的哈希码。

 

在网上找到的例子:

 

两个对象的 hashCode()相同, equals()不一定为 true

两个对象的 hashCode()相同, equals()不一定为 true