2013-03-29 10 views

Odpowiedz

7

Nie, nie ma sufiksu, który można dołączyć do literału numerycznego, aby był to byte.

Patrz 3.10 Literals w specyfikacji języka Java.

4

Trzeba oddać do bajta tak:

byte b = 1; 

b = (byte) 5; 

Ponieważ domyślnie te stałe numeryczne są traktowane jako int w Java.

+1

Poza tym, że nie jest to konieczne w tym przypadku, ponieważ literał jest stałą czasu kompilacji. 'bajt b = 1;' jest całkowicie legalny. – Jesper

+2

tak, 'bajt b = 1' działa poprawnie, niestety dla każdej innej operacji, ale inicjalizacja obsada jest znowu konieczna. Nawet pozornie nieszkodliwe 'b + = 1'. Rozumiem, że tak musi być, po prostu ... denerwujące jest rzucanie za każdym razem – GameDroids

1

nie ma przyrostek można dołączyć numeryczny dosłowne

1

Nie ma takiego przyrostek dla bajtach zobaczyć Java Language Specification section 3.10.1:

DecimalIntegerLiteral: 
    DecimalNumeral IntegerTypeSuffix(opt) 

IntegerTypeSuffix: one of 
    l L 

Uwaga (opt) oznacza to jest opcjonalne. Aby przypisać, musisz jawnie rzucić za pomocą (byte) 1.