为什么重写 equals() 时必须重写 hashCode() ⽅法?
因为两个相等的对象的 hashCode 值必须是相等。也就是说如果 equals ⽅法判断两个对象是相等
的,那这两个对象的 hashCode 值也要相等。
如果重写 equals() 时没有重写 hashCode() ⽅法的话就可能会导致 equals ⽅法判断是相等的两个
对象, hashCode 值却不相等。
总结 :
equals ⽅法判断两个对象是相等的,那这两个对象的 hashCode 值也要相等。
两个对象有相同的 hashCode 值,他们也不⼀定是相等的(哈希碰撞)。

浙公网安备 33010602011771号