Какая типичная ошибка при работе с hashCode contract и как ее избежать?
Что хотят услышать интервьюеры:
Ошибка: изменять поле, участвующее в hashCode, после помещения объекта в HashSet/HashMap.
Ответ:
Как избежать: вернитесь к контракту и назначению темы: равные по equals объекты обязаны иметь одинаковый hashCode. Проверьте edge cases: null, конкурентный доступ, транзакции, ошибки, объем данных и lifecycle Spring/JVM.
Хороший кандидат: объясняет симптом, причину и безопасное исправление, а не просто вспоминает термин.
@Override public int hashCode() { return Objects.hash(id); }