Как вы знаете, в Java существуют примитивные типы чисел (byte, short, int, long, float, double) и объекты-обертки над ними (Byte, Short, Integer, Long, Float, Double).
В различных статьях можно встретить диаметрально противоположные рекомендации, что использовать.
С одной стороны, обёртки объектов универсальны: их можно использовать со стандартными коллекциями, которые удобны, инкапсулированы и в целом красивы.
Но бокс убивает производительность и съедает много памяти.
Примитивные типы быстрые и компактные, но их можно размещать только в массивах, которые невозможно защитить от записи, а абстракция равна нулю.
Если вам нужно что-то вроде Map для сопоставления чего-либо с числами, вам придется либо мириться с потерей производительности и памяти, либо использовать сторонние библиотеки, реализующие нестандартный интерфейс.
Однако в некоторых случаях вам помогут изменяемые числа.
Представьте, что вам нужно посчитать количество различных строк, которые откуда-то берутся.
Часто пишут такой код:
Теги: #mutable #numbers #javapublic Map<String, Integer> countStrings() {
-
Гангстерский Бизнес
19 Oct, 24 -
Очень Странный Взлом Сайта
19 Oct, 24 -
Технологии Поиска В Airbnb
19 Oct, 24