#вопросы_с_собеседований

Почему нельзя использовать byte[] в качестве ключа в HashMap?

August 30, 2020
4 comments
Avatar
Nikola 
Дженерики не могу быть примитивами, нужно использовать класс-обёртку
Alexey 
Потому что примитив, а не оболочка. Как любой дженерик
Avatar
Alina 
Aug 30, edited
Можем, если это массив байтов
Avatar
Sergey Koshkinov 
Потому что new byte[] {1} != new byte[] {1}. Так же, их метод для получения хеш кода унаследованы от Object'а, что значит что каждый новый массив имеет новый хеш код. Следовательно , когда, мы спросим у хеш мапы значение по ключу new byte[] {1}, то получим null, даже если там есть значение по ключу массива байтов с единичной.
Do you want to add a new comment?