hashCode()与 equals() 的相关规定:
- 如果两个对象相等,则 hashcode 一定也是相同的
- 两个对象相等,对两个 equals() 方法返回 true
- 两个对象有相同的 hashcode 值,它们也不一定是相等的
- 综上,equals() 方法被覆盖过,则 hashCode() 方法也必须被覆盖
- hashCode()的默认行为是对堆上的对象产生独特值。如果没有重写 hashCode(),则该 class 的两个对象无论如何都不会相等(即使这两个对象指向相同的数据)。
2024-01-27 17:44:16
hashCode()与 equals() 的相关规定: