Существуют ли какие-либо реальные применения для байтового примитивного типа Java?

По какой-то необъяснимой причине примитивный тип байт является подписано на Java. Это означает, что допустимые значения - -128..127 вместо обычного диапазона 0..255, представляющего 8 значащих битов в байте (без знакового бита).

Это означает, что весь код манипулирования байтами обычно делает целочисленные вычисления и в конечном итоге маскируют последние 8 бит.

Мне было интересно, существует ли какой-нибудь реальный сценарий, в котором примитивный тип Java байт идеально подходит, или это просто совершенно бесполезное дизайнерское решение?


РЕДАКТИРОВАТЬ: Единственным фактическим вариантом использования был однобайтовый заполнитель для нативного кода. Другими словами, его нельзя было манипулировать как байтом внутри кода Java.


РЕДАКТИРОВАТЬ: Я теперь видел место, где внутренний жесткий цикл нужно было разделить на 7 (числа 0..32), чтобы таблица поиска могла быть выполнена с байтами в качестве типа данных, поэтому использование памяти можно было снизить, учитывая использование кеша L1. Это не относится к подписи / неподписанности, но это был случай фактического использования.

56
задан Thorbjørn Ravn Andersen 8 August 2017 в 10:47
поделиться