複数のフィールドを持つ ComplexObject があり、これを言いたい:
x
両方にフィールドが存在する場合compare
は、比較チェーンの次のフィールドに進みます。- 両方が null の場合は
compare
、比較チェーンの次のチェーンに進みます。 - 一方が null で、もう一方がそうでない場合は、最後に null を配置します
私が知る限り、これを行う方法がわかりません
.compare(c1.getX(), c2.getX(), Ordering.arbitrary().nullsLast())
意思
- オブジェクトが両方とも存在し、等しい場合、それらは等しいと見なします
- オブジェクトが両方とも null の場合、それらは等しいと見なされます。
グアバComparisonChain
またはOrdering
クラスを使用して目的を達成する方法はありますか? または、この問題を解決することを考えるより良い方法はありますか?