null
будет возвращено, если ключ, по которому производится поиск, не является тем же самым объектом (имеет то же самое ссылочное равенство), который был использован при вставке элемента.
Причина в том, что HashMap
для определения "равенства" ключей использует комбинацию hashCode()
и equals()
. Если эти методы не переопределены, используются реализации из Object
.
Object.hashCode()
обычно возвращает значение, основанное на адресе объекта в памяти, то есть уникальное для каждого экземпляра.Object.equals()
просто проверяет ссылочное равенство (this == obj
).Таким обра
null
будет возвращено, если ключ, по которому производится поиск, не является тем же самым объектом (имеет то же самое ссылочное равенство), который был использован при вставке элемента.
Причина в том, что HashMap
для определения "равенства" ключей использует комбинацию hashCode()
и equals()
. Если эти методы не переопределены, используются реализации из Object
.
Object.hashCode()
обычно возвращает значение, основанное на адресе объекта в памяти, то есть уникальное для каждого экземпляра.Object.equals()
просто проверяет ссылочное равенство (this == obj
).Таким обра
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.