luk*_*sen 2 java inequality equals transitivity
如果我有3个对象a,b和c,并且我想检查它们中没有一个是彼此相等的,我需要检查:
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.
这表明平等是可传递的,但不平等呢?