hashCode() 与 equals()
一、hashCode() 与 equals()区别?
1、如果两个对象的hashCode
值相等,那这两个对象不一定相等(哈希碰撞)。
2、如果两个对象的hashCode
值相等并且equals()
方法返回 true
,这两个对象相等。
3、如果两个对象的hashCode
值不相等,这两个对象不相等。
二、重写 equals() 时必须重写 hashCode() 方法?
1、equals
方法判断两个对象是相等的,那这两个对象的 hashCode
值也要相等。
2、两个对象有相同的 hashCode
值,他们也不一定是相等的(哈希碰撞)