Object类中一些常用方法:
equals
Object类中equals方法用于检测一个对象与另一个对象是否相等,在Object中equals方法比较的是两个对象是否有相同的引用。然而,经常需要检测两个对象状态的想等姓,如果对象状态一致,就认为两个对象想等。
在Java类中定义equals方法需要保证以下特性:
1)自反性,对于非空引用x,x.equals(x) 应该返回true.
2)对称性,对于任何引用x和y,当且仅当y.equals(x) 返回true 反之也成立。
3)传递性.
4)一致性.
5)对于任何非空引用x x.equals(null) 都应该返回false.
hashCode
hashCode是由对象导出的一个整形值。散列码是完全没有规律的,不同对象的散列码基本上不会相同。由于hashCode方法定义在Object中,因此每个对象都有一个默认的散列码,其值为对象的存储地址。
⚠️ 如果重新定义equals方法,就必须要重新定义hashCode方法,以便用户将对象插入到散列表中。