首页 > 代码库 > 覆盖equals时尊守的约定

覆盖equals时尊守的约定

自反性(reflexive):对于任何非null的引用X,x.equals(x)必须返回ture

对称性(symmetric):对于任何非null的引用x和y,当且仅当x.equals(y)返回为ture时,y.equals(x)必须返回为true

传递性(transitive):对于任何非null的引用x,y和z,当x.equals(y)返回为true,并且y.equals(z)返回也是true,那么x.equals(z)返回的必须是true

一致性(consistent):对于任何的非null引用x和y,如果equals所得比较操作在对象中所引用的信息没有被修改,那么多次调用x.equals(y)一致的返回true,或者一致的返回false

任何非null的引用x,x.equals(null)必须返回false

覆盖equals时尊守的约定