1l为long,1f为float,1d为double,字节怎么样?

时间:2013-03-29 10:50:46

标签: java casting initialization byte

1l for long,1f for float,1d for double,what about about?

long l = 1l;
float f = 1f;
double d = 1d;
// byte b = 1?;

byte的等价物是什么?它存在吗?

4 个答案:

答案 0 :(得分:7)

不,没有后缀可以附加到数字文字以使其成为byte

请参阅Java语言规范中的3.10 Literals

答案 1 :(得分:4)

你需要像这样转换为字节:

byte b = 1;

b = (byte) 5;

因为默认情况下这些数字常量在Java中被视为int。

答案 2 :(得分:1)

没有后缀可以附加数字文字

答案 3 :(得分:1)

字节没有这样的后缀,请参阅Java Language Specification section 3.10.1

DecimalIntegerLiteral:
    DecimalNumeral IntegerTypeSuffix(opt)

IntegerTypeSuffix: one of
    l L

注意(opt)表示它是可选的。因此,要指定您需要使用(byte) 1显式转换。