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

Часто ли встречал отрицательный hashCode

В Java hashCode() может быть отрицательным, так как он возвращает int, который имеет диапазон от -2³¹ до 2³¹-1. Отрицательные хеш-коды встречаются нередко, особенно при переопределении hashCode() в кастомных классах.

Пример:

java
String str = "Hello";
System.out.println(str.hashCode()); // Может быть отрицательным

Почему это нормально?

  • HashMap и HashSet корректно обрабатывают отрицательные хеш-коды.
  • Главное — чтобы hashCode() был консистентным и соблюдал контракт с equals().

Важно: при использовании Math.abs(hashCode) будь осторожен — для Integer.MIN_VALUE это вызовет переполнение.

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

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

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

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