其他分享
首页 > 其他分享> > 为什么重写 equals() 时必须重写 hashCode() ⽅法?

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

作者:互联网

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

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

标签:相等,两个,对象,equals,hashCode,重写
来源: https://www.cnblogs.com/RB-L12/p/16688444.html