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

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



