回答:
Javaでは、整数リテラルはデフォルトでint型です。他のいくつかのタイプについては、次のような大文字と小文字を区別しない文字でリテラルをサフィックスもL
、D
、F
それぞれ、長い、ダブル、またはfloatを指定します。読みやすくするために大文字を使用するのが一般的であることに注意してください。
Java言語仕様では、byte型またはshort型に同じ構文糖衣を提供していません。代わりに、明示的なキャストを使用して、そのように宣言できます。
byte foo = (byte)0;
short bar = (short)0;
あなたにはsetLongValue(100L)
、メソッド呼び出し、あなたは、必ずしもする必要はありませんL
。この場合はint型のリテラルは自動的に長いに拡大されるため、接尾辞を。これは、Java言語仕様では拡張プリミティブ変換と呼ばれています。
d
/ D
はa double
を作り、f
/ F
はfloatを作ります!
0
しなければならなかったので、私は尋ねています。(short)0
possible lossy conversion from int to short
通常は、変数をキャストしてになることができますshort
。
混乱を招く可能性のあるこのような問題も発生する可能性があります。これは、+
オペレーターがそれらをint
要素をキャストしても役に立たない:
式をキャストする必要があります:
使用できますsetTableId((short)100)
。これはJava 5で変更されたと思います。バイトまたはshortに割り当てられ、ターゲットの範囲内に割り当てられた数値リテラルは、自動的にターゲットタイプであると見なされます。ただし、最新のJ2ME JVMはJava 4から派生しています。
L
long
リテラルを示すために使用される単なる接尾辞です。