Junior — Middle
Šta će se desiti sa rezultatom metode hashCode ako klasa eksplicitno ne prepisuje istu?
sobes.tech АИ
Одговор од АИ
Ако класа јасно не препише методу hashCode(), биће коришћена имплементација из класе Object. У овом случају, hashCode враћа целобројну вредност која се обично заснива на унутрашњој адреси објекта у меморији (или другом јединственом идентификатору JVM-а).
То значи да ће за различите објекте, чак и ако су логички једнаки, hashCode бити различит, што може довести до неисправног рада хеш структура (нпр. HashMap или HashSet), ако hashCode не буде преписан заједно са equals.
Пример:
Object obj1 = new Object();
Object obj2 = new Object();
System.out.println(obj1.hashCode()); // јединствени број
System.out.println(obj2.hashCode()); // други јединствени број