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

Как работает equals по умолчанию

В Java equals() по умолчанию (реализация в классе Object) сравнивает ссылки на объекты, а не их содержимое. Это эквивалентно оператору ==.

Пример:

java
Object obj1 = new Object();
Object obj2 = new Object();
System.out.println(obj1.equals(obj2)); // false
System.out.println(obj1.equals(obj1)); // true

Для корректного сравнения объектов по содержимому нужно переопределять equals()hashCode() для соблюдения контракта). Например, для класса 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);
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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