6

1l for long,1f for float,1d for double,字节呢?

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

等价于byte什么?它存在吗?

4

4 回答 4

7

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

请参阅Java 语言规范中的3.10 文字。

于 2013-03-29T10:52:08.073 回答
4

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

byte b = 1;

b = (byte) 5;

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

于 2013-03-29T10:52:15.633 回答
1

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

于 2013-03-29T10:53:14.310 回答
1

字节没有这样的后缀,请参阅Java 语言规范第 3.10.1 节

DecimalIntegerLiteral:
    DecimalNumeral IntegerTypeSuffix(opt)

IntegerTypeSuffix: one of
    l L

注意(opt)表示它是可选的。因此,要分配您需要使用(byte) 1.

于 2013-03-29T10:53:49.967 回答