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

Что такое equals

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

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

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);
}

Важно:

  • Должен быть рефлексивным, симметричным, транзитивным и согласованным
  • При переопределении equals() нужно переопределять hashCode()
  • Для сравнения полей лучше использовать Objects.equals() (обрабатывает null)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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