在Java中,equals方法是用于比较两个对象的相等性的方法。它是从java.lang.Object类继承而来的,默认实现是比较两个对象的引用是否相同。然而,在许多情况下,我们需要根据对象的内容来判断它们是否相等。这就需要在具体的类中重写equals方法,以便根据自定义的相等性规则进行比较。
重写equals方法的基本规则
重写equals方法时,应遵循以下基本规则:
- 对称性:如果两个对象相等,那么它们互相比较也应返回true。
- 反射性:一个对象和它自身比较应该返回true。
- 传递性:如果对象A等于对象B,对象B等于对象C,那么对象A也应等于对象C。
- 一致性:如果两个对象没有发生变化,那么它们的比较结果应该保持不变。
- 非空性:对象与null比较应该返回false。
示例代码:
public class Person {
private<