7.在改写equals的时候请遵守通用的约定

在很多时候,我们都需要去重写equals方法,去满足自己的比较需求,在改写equals时,需要准守以下原则:

自反性:对于任意的引用值x,x.equals(x)一定为true

对称性:对于任意的引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y)也一定返回true

传递性:对于任意的引用值x、y和z。如果x.equals(y)返回true,并且y.equals(z)也返回true,那么x.equals(z)也一定返回true

一致性:对于任意的引用值x和y,如果用于equals比较的对象信息没有被修改的话,那么,多次调用x.equals(y)返回的值不变

  这些理解都很容易,在自己去改写时,一定要遵守这些规则,不然会带来一些意向不到的麻烦

猜你喜欢

转载自blog.csdn.net/qq_27469549/article/details/80464222