`
huanhuan1022
  • 浏览: 54560 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

关于复写equals方法的诀窍

    博客分类:
  • java
阅读更多

1.使用“==”操作符检查“参数是否为这个对象的引用” (一般不需要考虑,这只是一种性能优化)

2.使用instanceof操作符检查“参数是否为正确的类型” 。一般来说所谓“正确类型”是指equals方法所在的那个类,在类型转换之前最好检查一下类型安全。

3.对于该类的关键域,检查参数中的域是否与该对象中的对应的域相匹配 。对于既不是float也不是double类型的基本类型,可以使用==操作符进行比较;对于对象引用域,可以递归的调用equals方法;对于float域,可以使用Float.compare方法;对于double域,则使用Double.compare;对于数组域的话,则要把以上的这些指导原则应用到每个元素上,如果数组域中每个元素都很重要,就可以使用发行版本1.5中新增的其中一个Arrays.equals方法。域的比较顺序可能会影响equals方法的性能,应该首先比较最有可能不一致的域。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics