デフォルトでは、すべての整数プリミティブデータ型(byte、short、int、long)は、Javaコンパイラーによってint型として扱われます。以下のためにバイトと短く、限り、それらに割り当てられた値がその範囲内にあるように、何の問題や不要サフィックスはありません。byteとshortに割り当てられた値が範囲を超える場合は、明示的な型キャストが必要です。
例:
byte b = 130; // CE: range is exceeding.
これを克服するには、型キャストを実行します。
byte b = (byte)130; //valid, but chances of losing data is there.
longデータ型の場合、手間をかけずに整数値を受け入れることができます。次のように割り当てたとします
Long l = 2147483647; //which is max value of int
この場合、L / lのようなサフィックスは必要ありません。デフォルトでは、2147483647はJavaコンパイラーによってint型と見なされます。内部型キャストはコンパイラによって行われ、intはLong型に自動昇格されます。
Long l = 2147483648; //CE: value is treated as int but out of range
ここでは、Javaコンパイラーでリテラル2147483648をlong型として扱うために、接尾部をLとして置く必要があります。
最後に
Long l = 2147483648L;// works fine.
1
とl
して0
とO
(など)、あなたの優先順位は(フォント権を設定することで、あなたができれば)、Shiftキーを忘れないよう注意してください。