3つのオブジェクトa、b、およびcがあり、それらのいずれも互いに等しくないことを確認したい場合は、次のことを確認する必要があります。
if (!a.equals(b) && !b.equals(c) && !a.equals(c)) { // to simplify, assume non-null
// do something
}
Javaドキュメントによると、正しく実装されたequalsメソッドの場合:
これは推移的です。null以外の参照値x、y、およびzの場合、x.equals(y)がtrueを返し、y.equals(z)がtrueを返す場合、x.equals(z)はtrueを返す必要があります。
これは、平等は推移的であると述べていますが、不平等はどうですか?