Sobes.tech
Junior — Middle

Kā realizē objektu vienādības salīdzināšanu, izmantojot metodi equals?

sobes.tech AI

Atbilde no 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 для корректной работы в коллекциях.