Встречается на собеседованиях • сегодня
Какой может быть базовая реализация equals
java
@Override
public boolean equals(Object obj) {
// 1. Проверка на ссылочное равенство
if (this == obj) return true;
// 2. Проверка на null и совместимость типов
if (obj == null || getClass() != obj.getClass()) return false;
// 3. Приведение типа
MyClass other = (MyClass) obj;
// 4. Сравнение значимых полей
return Objects.equals(this.field1, other.field1)
&& Objects.equals(this.field2, other.field2);
}Ключевые моменты:
- Всегда переопределяйте
hashCode()вместе сequals() - Используйте
Objects.equals()для безопасного сравнения (включая null-проверки) - Для примитивов используйте
==, для объектов -equals() - Сначала сравнивайте наиболее "дешевые" или чаще различающиеся поля

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы