java – 使用ComparisonChain对Object.equal()\u0026\u0026 Objects.equal()…与Guava有什么好处

前端之家收集整理的这篇文章主要介绍了java – 使用ComparisonChain对Object.equal()\u0026\u0026 Objects.equal()…与Guava有什么好处前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚开始使用谷歌的番石榴收藏( ComparisonChainObjects).在我的pojo中,我正在等待equals方法,所以我先做了这个:
return ComparisonChain.start()
         .compare(this.id,other.id)
         .result() == 0;

但是,我也意识到我也可以用这个:

return Objects.equal(this.id,other.id);

而且,当比较链更好的时候,我看不清楚,因为你可以轻松地添加更多的条件,如:

return Objects.equal(this.name,other.name) 
       && Objects.equal(this.number,other.number);

唯一的好处是我可以看到,如果你特别需要一个int返回.它有两个额外的方法调用(起始和结果),并且对于noob来说更复杂.

比较链中有没有明显的好处?

(是的,我也用适当的Objects.hashcode()覆盖哈希码

解决方法

ComparisonChain允许您通过比较多个属性来检查对象是否小于或大于另一个对象(如通过多个列排序网格).
在实现Comparable或Comparator时应该使用它.

Objects.equal只能检查相等.

原文链接:https://www.f2er.com/java/124696.html

猜你在找的Java相关文章