"0xFF" - это литерал int
для десятичного значения 255, который не может быть представлен в виде байта.
На данный момент вам нужно привести его к byte
, чтобы сообщить компилятору, что вы действительно имеете в виду -1, например:
byte[] rawbytes = { 0xA, 0x2, (byte) 0xFF };
Было предложено добавить новый синтаксис байтового литерала (y
или Y
суффикс) к Java 7. Тогда вы могли бы написать:
byte[] rawbytes = { 0xA, 0x2, 0xFFy };
Однако это предложение не было включено в «сводное предложение по улучшенным целочисленным литералам», поэтому мы застряли с актерами навсегда.