高效Java08:覆盖equals时遵守通用约定

来源:互联网 发布:北京邮电大学软件学院 编辑:程序博客网 时间:2024/05/16 07:58

覆盖equals的要求

  • 自反性(reflexivity):一个对象必须等于其自身
  • 对称性(symmetry):任何两个对象,无论使用哪一个对象的equals()方法判断其与另一个对象是否相等的结果应当是一致的
  • 传递性(transitivity):如果一个对象等于第二个对象,且第二个对象等于第三个对象,则第一个对象一定等于第三个对象。
  • 一致性(consistency):如果两个对象相等,若没有一个对象被修改,则它们就必须始终相等
  • 非空性(non-nullity):所有的对象都必须不等于null
0 0
原创粉丝点击