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

Что будешь делать после проверки ссылки и типа при создании метода equals

После проверки ссылки (this == obj) и типа (obj instanceof MyClass), нужно привести obj к типу текущего класса (MyClass other = (MyClass) obj). Затем сравниваем значимые поля:

  • Примитивы: field == other.field
  • Объекты: Objects.equals(field, other.field) (обрабатывает null)
  • Массивы: Arrays.equals(arrayField, other.arrayField)

Пример:

java
@Override
public boolean equals(Object obj) {
    if (this == obj) return true;
    if (!(obj instanceof MyClass)) return false;
    MyClass other = (MyClass) obj;
    return field1 == other.field1 
        && Objects.equals(field2, other.field2)
        && Arrays.equals(arrayField, other.arrayField);
}

Важно:

  • Всегда переопределяйте hashCode() вместе с equals().
  • Для float/double используйте Float.compare()/Double.compare() (из-за NaN и -0.0).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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