美文网首页
关于重写equals和hashCode

关于重写equals和hashCode

作者: RogueQ | 来源:发表于2016-06-16 22:14 被阅读23次

    一、实现高质量equals方法的诀窍:
    1、使用==比较对象的引用;
    2、使用instanceof检查参数的类型;
    3、把参数转换成正确的类型;
    4、检查关键域是否与对象中对应的于匹配;
    5、编写UT测试equals方法。
    二、事实上,我们无法再扩展可实例化的类的同时,既增加新的值组件,同时保留equals约定,除非愿意放弃面向对象所带来的优势。不过,可以在一个抽象类的子类中增加新的值组件,而不违反equals约定,因为抽象类无法实例化。
    三、覆盖equals方法总是要覆盖hashCode
    四、相等的对象必须具有相等的散列码,但是不同的对象可以有相同的散列码;不要试图从散列码计算中排除掉一个对象的关键部分来提高性能。

    相关文章

      网友评论

          本文标题:关于重写equals和hashCode

          本文链接:https://www.haomeiwen.com/subject/rwamdttx.html