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

На основе чего определяется hashCode по умолчанию

По умолчанию hashCode() в Java определяется на основе адреса объекта в памяти (но не буквального адреса, а внутреннего представления JVM). Это реализация из Object:

java
public native int hashCode();

Пример:

java
Object obj1 = new Object();
Object obj2 = new Object();
System.out.println(obj1.hashCode()); // Разные значения,
System.out.println(obj2.hashCode()); // так как разные объекты

Важные нюансы:

  1. Для одного и того же объекта hashCode должен быть постоянным в течение выполнения программы (если объект не изменялся)
  2. Если equals() возвращает true для двух объектов, их hashCode должен быть одинаковым
  3. Обратное не обязательно - разные объекты могут иметь одинаковый hashCode (коллизия)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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