Встречается на собеседованиях • сегодня
Как работает 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);
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы