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

Корректно ли задавать элементу hashCode() с фиксированным значением

Да, задавать фиксированный hashCode() допустимо, но с оговорками. Это нарушает контракт equals-hashCode: если объекты равны по equals(), их хеш-коды должны совпадать, но не наоборот. Фиксированный хеш-код приведет к вырождению хеш-таблиц (все объекты попадут в один бакет), что убьет производительность HashMap/HashSet.

Когда можно использовать:

  • Объекты immutable и всегда равны друг другу (например, синглтон).
  • Производительность не критична (редкие операции).

Пример:

java
@Override
public int hashCode() {
    return 42; // антипаттерн, но технически корректно
}

Лучше избегать такого подхода, если только это не оправдано специфичными требованиями.

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

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

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

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