Sobes.tech
Назад к вопросам
Junior — Middle
66

Каким образом реализуешь сравнение объектов на равенство через метод equals?

Ответ от нейросети

sobes.tech AI

Для корректного сравнения объектов в Java через метод equals нужно переопределить этот метод в своем классе, учитывая все значимые поля, которые определяют равенство объектов. Общие рекомендации:

  • Проверить, что объект не равен null.
  • Проверить, что объекты одного класса.
  • Сравнить все поля, которые влияют на равенство.

Пример реализации для класса Person:

@Override
public boolean equals(Object obj) {
    if (this == obj) return true; // проверка на ссылочное равенство
    if (obj == null || getClass() != obj.getClass()) return false; // проверка на null и класс
    Person other = (Person) obj;
    return Objects.equals(name, other.name) && age == other.age;
}

Также рекомендуется переопределять hashCode при переопределении equals для корректной работы в коллекциях.