Встречается на собеседованиях • сегодня
Что нужно соблюсти при переопределении hashCode в Lombok
При переопределении hashCode() с Lombok (@EqualsAndHashCode) важно:
- Согласованность с
equals(): Если два объекта равны поequals(), ихhashCode()должны возвращать одинаковое значение. - Использовать неизменяемые поля: Если объект изменяемый, лучше исключить такие поля из
hashCode()(через@EqualsAndHashCode(exclude)или@EqualsAndHashCode.Exclude). - Производительность: Хеш-код должен вычисляться быстро, особенно для часто используемых объектов.
Пример:
java
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
public class User {
@EqualsAndHashCode.Include
private final Long id; // неизменяемый и уникальный
private String name; // исключен, так как может меняться
}Используй onlyExplicitlyIncluded = true, чтобы явно указать, какие поля участвуют в hashCode() и equals().

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы