关于Object类的equals方法的特点

API原文
    * It is reflexive: for any non-null reference value x, x.equals(x) should return true.
    * It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
    * It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
    * It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
    * For any non-null reference value x, x.equals(null) should return false.
个人翻译
1.自反性:x.equals(x)应该返回true
2.对称性:x.equals(y)为true,那么y.equals(x)也为true
3.传递性:x.equals(y)为true,并且y.equals(z)为true,那么x.quals(z)也应该为true
4.一致性:x.equals(y)的第一次调用为true,那么x.quals(y)的第二次,第三次第n次调用也应该为true,前提条件是比较之前没有修改x也没有修改y.
5,对于非空引用x,x.equals(null)返回false

你可能感兴趣的:(equals)