Мне требуется создать класс, очень похожий на String, но вместо хранения массива символов объект должен хранить массив байтов, потому что я буду иметь дело с двоичными данными, не строки.Как я могу быть уверенным, что мой класс неизменен
Я использую HashMaps в своем приложении. Поэтому я стараюсь сделать свой пользовательский класс byteArray неизменным, поскольку неизменяемые объекты выполняют более быстрый поиск в хэшмапах. (Я хотел бы получить источник этого факта, пожалуйста)
Я уверен, что мой класс неизменен, но он все еще плохо работает против строки в поисках hashmap. Как я могу быть уверен, что он неизменен?
сделать его полей 'final'. Если какие-либо поля имеют тип массива, не делайте их доступными (то же самое для любого другого изменяемого ссылочного типа). –
Почему неизменные объекты в хэшмапах настолько эффективны? http://stackoverflow.com/questions/10342859/why-are-immutable-objects-in-hashmaps-so-effective – alex
Замечание выше хорошее. Вы должны посмотреть на код ответа на вопрос. Он отвечает WHY строк быстрее. Вы должны сделать то же самое в своем коде, чтобы повысить производительность. –