2013-11-24 1 views

ответ

3

Нет, потому что это необязательно. String.hashCode() может занимать время линейное по длине String, но классы-оболочки имеют постоянную, быструю реализацию хэш-кода.

+0

для информации: После просмотра исходного кода я нашел следующую реализацию hashcode: 'public int hashCode() { return value; } 'где значение - это примитивное значение int, представленное этим объектом Integer. - быстрая реализация hashcode() –

+0

True для Integer и т. д. Просто посмотрел на их исходный код и (в версии, которую я видел) BigInteger и BigDecimal не кэшируют свои 'hashCode' и, возможно, должны. Избегайте их в качестве ключей в Картах. – user949300

+0

@ user949300: «Избегайте их в качестве ключей в Maps» - этот оператор для Integer (классы-оболочки) или для BigInteger и BigDecimal? –

Смежные вопросы