Назад к вопросам
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 для корректной работы в коллекциях.