Читаю второе издание книги, стр. 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)
верно, а cis.equals(s)
ложно...
Что мне не хватает?
s.equals(cis)
? - person chrylis -cautiouslyoptimistic-   schedule 22.11.2013equals()
вCaseInsensitiveString
. Наверное, это как-то связано с этим - person Savv   schedule 22.11.2013