J2ME で少しコードを書いています。メソッドを持つクラスがありsetTableId(Short tableId)
ます。今、私が書き込もうとするsetTableId(100)
と、コンパイル時エラーが発生します。別の短い変数を宣言せずに短い値を設定するにはどうすればよいですか?
Long
値を設定すると使用できsetLongValue(100L)
、機能します。では、L
ここで何を意味し、Short
値の文字は何ですか?
ありがとう
J2ME で少しコードを書いています。メソッドを持つクラスがありsetTableId(Short tableId)
ます。今、私が書き込もうとするsetTableId(100)
と、コンパイル時エラーが発生します。別の短い変数を宣言せずに短い値を設定するにはどうすればよいですか?
Long
値を設定すると使用できsetLongValue(100L)
、機能します。では、L
ここで何を意味し、Short
値の文字は何ですか?
ありがとう
Java では、整数リテラルはデフォルトで int 型です。他のいくつかのタイプでは、リテラルの末尾に,などL
の大文字と小文字を区別しない文字を付けて、それぞれ long、double、または float を指定できます。読みやすくするために大文字を使用するのが一般的であることに注意してください。D
F
Java 言語仕様では、byte 型または short 型に対して同じ構文糖衣が提供されていません。代わりに、明示的なキャストを使用してそのように宣言できます。
byte foo = (byte)0;
short bar = (short)0;
setLongValue(100L)
メソッド呼び出しでは、必ずしもサフィックスを含める必要はありません。L
この場合、int リテラルは自動的に long に拡張されるためです。これは、Java 言語仕様では拡大プリミティブ変換と呼ばれます。
バイトや短いリテラルのようなものはありません。を使用してショートにキャストする必要があります(short)100
使用できますsetTableId((short)100)
。これは Java 5 で変更され、バイトまたはショートに割り当てられ、ターゲットの範囲内にある数値リテラルが自動的にターゲット型と見なされるようになったと思います。ただし、その最新の J2ME JVM は Java 4 から派生しています。