Встречается на собеседованиях • сегодня
Что будешь делать после проверки ссылки и типа при создании метода 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).

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