Java中的不等式是否可传递?

luk*_*sen 2 java inequality equals transitivity

如果我有3个对象a,bc,并且我想检查它们中没有一个是彼此相等的,我需要检查:

if (!a.equals(b) && !b.equals(c) && !a.equals(c)) { // to simplify, assume non-null
    // do something
}
Run Code Online (Sandbox Code Playgroud)

根据Java文档,对于正确实现的equals方法:

它是传递性的:对于任何非空引用值x,y和z,如果x.equals(y)返回true而y.equals(z)返回true,则x.equals(z)应返回true.

这表明平等是可传递的,但不平等呢?

Oli*_*rth 6

这不是传递性的.考虑x=1,y=2z=1.