美文网首页
关于重写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