6

long は 1l、float は 1f、double は 1d、byte は?

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

Note(opt)はオプションであることを示します。したがって、割り当てるには、を使用して明示的にキャストする必要があります(byte) 1

于 2013-03-29T10:53:49.967 に答える