Какая типичная ошибка при работе с hashCode contract и как ее избежать?

JavaJuniorJava CoreОшибка кандидатаjava|java core|hashcode|hashcode contract

Что хотят услышать интервьюеры:

Ошибка: изменять поле, участвующее в hashCode, после помещения объекта в HashSet/HashMap.

Ответ:

Как избежать: вернитесь к контракту и назначению темы: равные по equals объекты обязаны иметь одинаковый hashCode. Проверьте edge cases: null, конкурентный доступ, транзакции, ошибки, объем данных и lifecycle Spring/JVM.

Хороший кандидат: объясняет симптом, причину и безопасное исправление, а не просто вспоминает термин.

@Override public int hashCode() { return Objects.hash(id); }

Источники

Похожие вопросы