我正在阅读本书的第二版,第 36 页。我不明白对称性问题的解决方案:
@override public boolean equals(Object o) {
return o instanceof CaseInsensitiveString &&
((CaseInsensitiveString) o).s.equalsIgnoreCase(s);
}
如果我有CaseInsensitiveString cis= new CaseInsensitiveString("hello")
并且String s="hello"
this 以非对称方式表现,因为s.equals(cis)
是真的,但是cis.equals(s)
是假的......
我错过了什么?