Использование byte[]
в качестве ключа в HashMap
проблематично из-за особенностей работы методов equals()
и hashCode()
для массивов.
По умолчанию, equals()
для массивов сравнивает ссылки, а не содержимое. Два массива байтов с одинаковым содержимым, но находящиеся в разных областях памяти, будут считаться неравными.
Аналогично, стандартный hashCode()
для массивов основан на адресе в памяти, а не на содержимом. Это приводит к тому, что два массива с одинаковым содержимым будут иметь разные хеш-коды.
В результате, при попытке получить з
Использование byte[]
в качестве ключа в HashMap
проблематично из-за особенностей работы методов equals()
и hashCode()
для массивов.
По умолчанию, equals()
для массивов сравнивает ссылки, а не содержимое. Два массива байтов с одинаковым содержимым, но находящиеся в разных областях памяти, будут считаться неравными.
Аналогично, стандартный hashCode()
для массивов основан на адресе в памяти, а не на содержимом. Это приводит к тому, что два массива с одинаковым содержимым будут иметь разные хеш-коды.
В результате, при попытке получить з
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.