Relacja między hashCode a metodą równości w Javie [duplikat]
To pytanie ma już odpowiedź tutaj:
Jakie problemy należy wziąć pod uwagę przy nadpisywaniu równości i kodu skrótu w Javie? 11 odpowiedziDlaczego muszę zastąpić metody equals i hashCode w Javie? 28 odpowiedzi Czytam w wielu miejscach mówiąc, że zastępujęequals
etoda @ w Javie powinna zastąpićhashCode
metoda też, w przeciwnym razie jest to „naruszenie umowy”.
Ale do tej pory nie napotkałem żadnego problemu, jeśli zastąpię tylko metodę równa, ale nie metodę hashCode.
Jaka jest umowa? I dlaczego nie mam żadnego problemu, gdy naruszam umowę? W takim przypadku czy napotkam problem, jeśli nie zastąpiłem metody hashCode?