为什么重写 equals() 时必须重写 hashCode() ⽅法?

因为两个相等的对象的 hashCode 值必须是相等。也就是说如果 equals ⽅法判断两个对象是相等
的,那这两个对象的 hashCode 值也要相等。
如果重写 equals() 时没有重写 hashCode() ⽅法的话就可能会导致 equals ⽅法判断是相等的两个
对象, hashCode 值却不相等。

总结 :
equals ⽅法判断两个对象是相等的,那这两个对象的 hashCode 值也要相等。
两个对象有相同的 hashCode 值,他们也不⼀定是相等的(哈希碰撞)。

posted @ 2022-09-13 10:52  Initial_JC  阅读(64)  评论(0)    收藏  举报