equals()方法特性

java语言规范要求equals()应该具有以下特性:

1.自反性。

  对于任何非空引用x,x.equals(x)应该返回true。

2.对称性

  对于任何引用x和y,当且仅当y.equals(x)返回true,x.equals(y)也应该返回true。

3.传递性

  对于任何引用x、y和z,如果x.equals(y)返回true,y.equals(z)返回true,x.equals(z)也应该返回true。

4.一致性

  如果x和y引用的对象没有没有发生变化,反复调用x.equals(y)应该返回相同的结果。

5.对于任何非空引用x,x.equals(null)应该返回false。

原文地址:https://www.cnblogs.com/sunzhongyu008/p/11410436.html