Назад к вопросам
IT One
Junior — Middle
64
Как вы реализуете методы сравнения объектов и вычисления их хэш-кодов в вашем коде?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Java для корректного сравнения объектов и вычисления их хэш-кодов обычно переопределяют методы equals() и hashCode() из класса Object.
Пример реализации:
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
MyClass other = (MyClass) obj;
return Objects.equals(field1, other.field1) && field2 == other.field2;
}
@Override
public int hashCode() {
return Objects.hash(field1, field2);
}
Важно, чтобы если два объекта равны по equals(), то их hashCode() тоже были одинаковыми. Это критично для корректной работы коллекций, таких как HashMap и HashSet.