1. ホーム
  2. java

[解決済み] ショートバリューの設定 Java

2022-06-14 10:42:55

質問

J2MEでちょっとしたコードを書いています。私はメソッドを持つクラスを持っています setTableId(Short tableId) . 今、私が書こうとしたとき setTableId(100) と書こうとすると、コンパイル時にエラーが発生します。別のshort変数を宣言せずに、short値を設定するにはどうしたらよいでしょうか?

設定時に Long の値を設定することができます。 setLongValue(100L) で、動作します。では、どうすれば L は何を意味しているのでしょうか? Short の値は?

ありがとうございます

どのように解決するのですか?

Javaでは、整数リテラルはデフォルトでint型です。他のいくつかの型では、リテラルの後に L , D , F で,それぞれlong,double,floatを指定します。読みやすくするために大文字を使うのが一般的であることに注意。

Java言語仕様では、byteまたはshort型のための同じ構文的な砂糖は提供されていません。その代わり、明示的なキャストを用いてそのように宣言することができます。

byte foo = (byte)0;
short bar = (short)0;

あなたの setLongValue(100L) メソッド呼び出しに、必ずしも L この場合、int リテラルは自動的に long にワイド化されるからです。これはJava言語仕様ではwidening primitive conversionと呼ばれています。