gpt4 book ai didi

java - 我可以使用 Guava 的 ComparisonChain 以特殊方式处理 null 字段吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:02:24 25 4
gpt4 key购买 nike

我有一个包含多个字段的 ComplexObject,我想这样说:

  • 如果两者都存在字段 x,则继续比较链中的下一个 compare
  • 如果两者都为空,则继续进行比较链中的下一个compare
  • 如果一个为空而另一个不为空,则将空值放在最后

我不知道该怎么做,因为据我所知

.compare(c1.getX(), c2.getX(), Ordering.arbitrary().nullsLast())

  1. 如果对象都存在且相等,则认为它们相等
  2. 如果两个对象都为空,则认为它们是相等的。

有没有一种方法可以使用 Guava 的 ComparisonChainOrdering 类来实现我想要的?或者有没有更好的方法来考虑解决这个问题?

最佳答案

根据你对我评论的回答,做一个 boolean 比较。

.compare(c1.getX() == null, c2.getX() == null)

如果你的类(class)有一个方法,给出你修改后的回复

public XType getX() {...}

然后考虑制作XType实现 Comparable<XType>或提供 Comparator<XType> .

关于java - 我可以使用 Guava 的 ComparisonChain 以特殊方式处理 null 字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17179859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com