Встречается на собеседованиях • сегодня

Как переопределяешь equals

Переопределение equals() в Java требует соблюдения контракта: рефлексивность, симметричность, транзитивность, согласованность и сравнение с null должно возвращать false.

Пример переопределения для класса Person:

java
@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    Person person = (Person) o;
    return age == person.age && Objects.equals(name, person.name);
}

Ключевые моменты:

  1. Используем @Override
  2. Проверяем ссылочное равенство
  3. Проверяем null и класс объекта
  4. Приводим тип
  5. Сравниваем значимые поля через Objects.equals() (для null-безопасности)
  6. Всегда переопределяй hashCode() вместе с equals()!
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы