Java中重写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,多次调用 x.equals(y) 始终返回 true 或始终返回 false,前提是对象上 equals 比较中所用的信息没有被修改。

  • 非空性:对于任何非空引用值 x,x.equals(null) 都应返回 false。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人博客: 斯科特安的时间 今天看资料时看到coolshell的这篇文章,获益匪浅,收藏到文库里。 译文原文:ht...
    斯科特安阅读 5,246评论 4 23
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 CHAPTER3 Method...
    SnailTyan阅读 742评论 1 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 天蓝 地阔 雪飞扬 叫我如何靠近你 我既不是光既不是风 既不绽放更不会咆哮 是的,是的,我是一个卑谦的乞丐 是的,...
    有丢阅读 240评论 1 5
  • 今天有幸品读一位朋友的随笔,她对自己的生活有一个很好的记录,生活方向,追求变得明晰了起来。对此我有了一丝感悟。感谢...
    智_宇阅读 175评论 0 0