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

Что будет если сравнить два идентичных объекта без переопределения equals

При сравнении двух идентичных объектов без переопределения equals() будет использоваться реализация из Object, которая сравнивает ссылки, а не содержимое объектов. Результат будет false, даже если объекты содержат одинаковые данные.

java
class Person {
    String name;
    Person(String name) { this.name = name; }
}

Person p1 = new Person("Alice");
Person p2 = new Person("Alice");

System.out.println(p1.equals(p2)); // false

Для корректного сравнения нужно переопределить equals() (и обычно hashCode()). Без этого поведение будет неожиданным для коллекций (HashSet, HashMap и др.).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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