默认情况下,Java编译器会将任何整数原始数据类型(字节,短型,整型,长型)视为整型。对于byte和short,只要分配给它们的值在其范围内,就没有问题,也不需要后缀。如果分配给byte和short的值超出其范围,则需要显式类型转换。
例如:
byte b = 130; // CE: range is exceeding.
克服这种执行类型转换。
byte b = (byte)130; //valid, but chances of losing data is there.
在长数据类型的情况下,它可以毫不费力地接受整数值。假设我们分配像
Long l = 2147483647; //which is max value of int
在这种情况下,不需要像L / l这样的后缀。默认情况下,java编译器认为int类型的值为2147483647。内部类型转换由编译器完成,并且int自动提升为Long类型。
Long l = 2147483648; //CE: value is treated as int but out of range
在这里,我们需要将后缀设为L,以将文字2147483648视为java编译器的long类型。
所以最后
Long l = 2147483648L;// works fine.
1
与l
和0
用O
(等),你的优先级是设置字体权(如果你能),然后担心不要错过Shift键。