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方法,以便用户将对象插入到散列表中。
本文探讨了Java中Object类的equals方法和hashCode方法的基本原理。equals方法用于判断两个对象的状态是否相等,而hashCode方法则用于生成对象的哈希码值。文章详细解释了equals方法需要满足的特性,并强调了重写equals方法时同步重写hashCode方法的重要性。
6099

被折叠的 条评论
为什么被折叠?



