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

Для чего нужен equals у Object в Java

Метод equals() в Java используется для сравнения объектов на логическое равенство, в отличие от ==, который сравнивает ссылки. По умолчанию (в классе 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()
  • Соблюдать контракт: рефлексивность, симметричность, транзитивность, согласованность
  • Не сравнивать объекты разных классов
  • Использовать Objects.equals() для безопасного сравнения полей
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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