Вопрос Зачем разработчики java на параметры конструктора java.awt.color ставят int, а не byte?

Регистрация
12 Янв 2013
Сообщения
70
Репутация
0
Спасибо
0
Монет
0
Большое допустимое значение цветов это 255, это максимальное значение byte, но зачем их делают к int? Byte экономит память, вместо 4 байтов int, 1 байт.
 
При проектировании могли учитывать несколько обстоятельств

а. 255 - это максимальное значение только в 8-битных цветовых пространствах, а уже больше 20 лет используются и другие (у меня на мониторе 12-бит, на сканере и фотоаппарате - 16-бит на канал), вот чтобы добавлять поддержку таких пространств не было мучительно больно

б. Надо смотреть как осуществляется вызов в виртуальной машине - во первых, там может идти выравнивание вплоть до разрядности, во-вторых, из-за особенностей вызова работа с числами с меньшей разрядностью может быть медленнее из-за того, что будут добавлятся инструкции, расширяющие число до 32/64-бит
 
У Byte максимальное значение не 255, а 127
Диапазон от -128 до 127
 
Хреновая "фишка" здесь в том, что если используешь чьё-нибудь готовое ООП, то автоматически становишься не кодером, а юзером.
Юзаешь только то, что тебе написали для работы, и не выпендриваешься.
Выходит новая версия этого ЯП с ООП, и ты снова, как дурак, переучиваешься в связи с кучей новшеств и изменений в иерархии классов, особенностях их свойств и методов.
 
разве это экономия?
 
Назад
Сверху