覆盖equals方法的时候必须遵守通用规定

equals方法实现了等价关系:

  1. 自反性:对于任何非null的引用值x, x.equals(x)必须返回true
  2. 对称性:对于任何非null的引用值x,y, 当且仅当x.equals(y)为true时,y.equals(x)必须返回true.
  3. 传递性:对于任何非null的引用值x,y,z, 当x.equals(y) == true, y.equals(z) == true时,x.equals(z) === true
  4. 一致性:对于任何非null的引用值x,y, 只要equals中使用对象信息没有做修改, 多次调用 x.equals(y)会一致的返回true, 或者一致的返回false.
  5. 对于任何非null的值x,x.equals(null) === false.
posted @ 2017-11-08 21:50  mzxl1987  阅读(186)  评论(0)    收藏  举报