この本の第 2 版の 36 ページを読んでいます。シンメトリの問題の解決策がわかりません。
@override public boolean equals(Object o) {
return o instanceof CaseInsensitiveString &&
((CaseInsensitiveString) o).s.equalsIgnoreCase(s);
}
と がある場合CaseInsensitiveString cis= new CaseInsensitiveString("hello")
、String s="hello"
これは非対称に動作します。なぜならs.equals(cis)
は true ですが、cis.equals(s)
false です...
私は何が欠けていますか?