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

Зачем нужен метод equals() из класса Object

Метод equals() используется для сравнения объектов на логическую эквивалентность, в отличие от ==, который сравнивает ссылки. По умолчанию (в классе Object) он ведёт себя как ==, но его переопределяют для сравнения по содержимому.

Пример переопределения:

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

Важно:

  • Всегда переопределять hashCode(), если переопределён equals()
  • Соблюдать контракт: рефлексивность, симметричность, транзитивность, согласованность
  • Не использовать для сравнения примитивов (для них ==)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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