Javaでは不平等は推移的ですか?
-
27-10-2019 - |
質問
a 、 b 、 c の3つのオブジェクトがあり、それらのいずれも互いに等しくないことを確認したい場合、確認する必要があります: ジェネラコディセタグプレ
Javaのドキュメントによると、正しく実装されたequalsメソッドの場合:
推移的です。null以外の参照値x、y、zの場合、x.equals(y)がtrueを返し、y.equals(z)がtrueを返す場合、x.equals(z)trueを返す必要があります。
これは、平等は推移的であると述べていますが、しかし不平等はどうですか?
解決
指定されたa = 5; b = 6; c = 5
:
a!= b-> true
b!= c-> true
a!= c-> false
いいえ、不平等は推移的ではありません。
他のヒント
推移的ではありません。x=1
、y=2
、z=1
を検討してください。
不等式は決して推移的ではありません(等しくない2つの要素、aとbがある場合)。その場合、!a.equals(b)があり、対称性のために!b.equals(a)がありますが、同一性のためにa.equals(a)があります。したがって、不平等は推移的であってはなりません。
いいえ、もちろん違います。 ジェネラコディセタグプレ
しかし ジェネラコディセタグプレ
いや、いや。推移性については、任意のx、y、zに当てはまる条件が必要です。しかし、z== xを選択した場合、それを強く望んでいます ジェネラコディセタグプレ
および y!= z
その場合は意味しません ジェネラコディセタグプレ
z は xなので!
所属していません StackOverflow