在阅读数学和计算机科学时,我已经读过一些使用等价符号 ≡
的实例(基本上是带有三行的'='),对我而言,将其视为相等是很有意义的。这两个概念有什么区别?
最佳答案
Wikipedia: Equivalence relation:
换句话说,=只是等价关系的一个实例。
编辑:自反,对称和可传递的看似简单的标准并不总是琐碎的。请参见Bloch的有效Java第二版。例如35
public final class CaseInsensitiveString {
...
// broken
@Override public boolean equals(Object o) {
if (o instance of CaseInsensitiveString)
return s.equalsIgnoreCase(
((CaseInsensitiveString) o).s);
if (o instanceof String) // One-way interoperability!
return s.equalsIgnoreCase((String) o);
return false;
}
...
}
上面的equals实现破坏了对称性,因为
CaseInsensitiveString
知道String
类,但是String
类不知道CaseInsensitiveString
。