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

Какой может быть базовая реализация 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);
}

Ключевые моменты:

  1. Всегда переопределяйте hashCode() вместе с equals()
  2. Используйте Objects.equals() для безопасного сравнения (включая null-проверки)
  3. Для примитивов используйте ==, для объектов - equals()
  4. Сначала сравнивайте наиболее "дешевые" или чаще различающиеся поля
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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