Back to questions
Junior — Middle
59
Какие шаги необходимы для правильной реализации метода hashCode для класса, содержащего поля id, age и email?
Answer from AI
sobes.tech AI
Для правильной реализации метода hashCode в классе с полями id, age и email нужно:
- Использовать все значимые поля, которые влияют на равенство объектов.
- Для примитивных типов (например,
int) использовать их значения напрямую. - Для объектов (например,
String email) использовать их собственныйhashCode, учитывая возможностьnull. - Комбинировать хеши полей с помощью умножения на простое число (обычно 31) для уменьшения коллизий.
Пример реализации:
@Override
public int hashCode() {
int result = Integer.hashCode(id);
result = 31 * result + Integer.hashCode(age);
result = 31 * result + (email != null ? email.hashCode() : 0);
return result;
}