Вы можете использовать байтовый литерал в Java ... вроде.
byte f = 0;
f = 0xa;
0xa
(int literal) автоматически приводится к байту.Это не настоящий байтовый литерал (см. JLS и комментарии ниже), но , если он крякает как утка, я называю это уткой.
То, что вы не можете сделать, это:
void foo(byte a) {
...
}
foo( 0xa ); // will not compile
Вы должны разыграть следующее:
foo( (byte) 0xa );
Но имейте в виду, что все они будут компилироваться, и они используют «байтовые литералы»:
void foo(byte a) {
...
}
byte f = 0;
foo( f = 0xa ); //compiles
foo( f = 'a' ); //compiles
foo( f = 1 ); //compiles
Конечно, это тоже компилируется
foo( (byte) 1 ); //compiles