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

Какие знаешь методы, работающие в паре с equals

Методы, работающие в паре с equals():

  1. hashCode() - должен переопределяться вместе с equals(). Если два объекта равны по equals(), их hashCode() должен быть одинаковым. Нарушение этого правила приведет к проблемам в HashSet, HashMap и других хэш-коллекциях.

Пример:

java
@Override
public int hashCode() {
    return Objects.hash(name, age); // Используем те же поля, что и в equals
}
  1. compareTo() (из интерфейса Comparable) - рекомендуется делать согласованным с equals(), чтобы a.compareTo(b) == 0 возвращал true тогда же, когда и a.equals(b). Это важно для сортированных коллекций (TreeSet, TreeMap).

  2. toString() - часто переопределяют для удобства отладки, хотя технически это не обязательно.

Важно: при переопределении equals() нужно соблюдать контракт - рефлексивность, симметричность, транзитивность, согласованность и сравнение с null должно возвращать false.

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

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

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

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