Niezrozumiała konstrukcja języka w metodzie equals

0

Czytałem ostatnio temat o przedefiniowywaniu metody equals w Javie i natrafiłem na niezrozumiałą dla mnie składnię języka czy ktoś może mi ją wyjaśnić:

@Override
public boolean equals(Object o) {
return instanceof CaseInsensitiveString && ((CaseInsensitiveString)o).s.equalsIgnoreCase(s);
} 

Nie rozumiem tego końcowego fragmentu jest tam rzutowanie objektu 'o' na typ CaseInsensitiveString i byłoby porównanie go z objektem 's' wraz z ignorowaniem wielkości znaków ale co robi to dodatkowe '.s' po nawiasie a przed equalsIgnoreCase?

0

To jest zwykłe odwołanie się do pola klasy...

1 użytkowników online, w tym zalogowanych: 0, gości: 1