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

Можно ли методом equals сравнить два идентичных объекта для определения эквивалентности

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

Пример:

java
class Person {
    String name;
    int age;
text
@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);
}

}

text
Важно:  
- Переопределяя `equals()`, нужно также переопределить `hashCode()`.  
- Сравнение `null` с объектом должно возвращать `false`.  
- Метод должен быть симметричным, транзитивным и рефлексивным.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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