Google の Guava コレクション ( ComparisonChainとObjects ) を使い始めたところです。私の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を返す必要がある場合に私が見ることができる唯一の利点。これには 2 つの追加のメソッド呼び出し (開始と結果) があり、noob にとってはより複雑です。
私が見逃しているComparisonChainの明白な利点はありますか?
(はい、適切な でハッシュコードをオーバーライドしていますObjects.hashcode()
)