equals()方法

equals()方法是Object类里规定的方法。但是在Object类中只有简单的实现:

   public boolean equals(Object obj) {
return (this == obj);
    }

这显然不能满足要求,所以有时候需要自己编写equals()方法。编写equals方法一般需要满足5个要求:

自反性:a.equals(a)=true

对称性:a.equals(b)=b.equals(a)

传递性:a.equals(b) b.equals(c)则a.equals(c)

一致性:

非空性:

编写高效的equals方法:

1:使用==号判断引用

2:使用instanceof判断类型是否正确

3:把参数转换成正确的类型

4:编写完成后考虑是否对称、传递、一致。

原文地址:https://www.cnblogs.com/macula7/p/1960625.html