我有多个字段ComplexObject,我想这样说:我可以使用Guava的ComparisonChain以特殊方式处理空字段吗?
- 如果双方存在场
x
,移动到下一个compare
在比较链。 - 如果两者均为空,则转到比较链中的下一个
compare
。 - 如果为空,另一种是没有,最后把空
我不知道如何做到这一点,因为据我可以告诉
.compare(c1.getX(), c2.getX(), Ordering.arbitrary().nullsLast())
将
- 如果它们都存在并且相等,则认为对象相等
- 如果两个对象都为null,则认为它们相等。
有没有一种方法可以使用番石榴的ComparisonChain
或Ordering
类来实现我想要的功能?或者有更好的方法去思考解决这个问题吗?
你的意思是说你只关心每个领域的无效性? –
@EricJablow是的。但更具体地说,我首先关心,然后我会关心其他事情。 EG:对于下一个'.compare',我可能会根据'x'的'name'字段进行比较。 –