设置短值Java
我在J2ME中编写了一些代码。 我有一个类的方法setTableId(Short tableId)
。 现在,当我尝试写setTableId(100)
它给编译时错误。 如何在不声明其他短variables的情况下设置短期值?
当设置Long
值,我可以使用setLongValue(100L)
,它的工作原理。 那么,这里的L
是什么意思, Short
值的性质是什么?
谢谢
在Java中,整型文本的types是int,除非它们后缀为字母'L'或'l'(首选L,因为小写L很难与数字1区分开来)。 如果后缀为L,则文字的types为long。
Java语言规范中的后缀没有任何特殊的名称。 任何其他整数types都没有后缀。 所以,如果你需要短或字节文字,他们必须铸造:
byte foo = (byte)0; short bar = (short)0;
在setLongValue(100L)中,你不一定要包含L后缀,因为在这种情况下,整型文字会自动加宽为long。 这在Java语言规范中被称为拓宽原始转换。
没有像字节或短文字这样的东西。 你需要投简(short)100
你可以使用setTableId((short)100)
。 我认为这是在Java 5中进行了更改,以便自动将假定为目标types的数字文字分配给字节或短的范围内的目标。 最新的J2ME JVM是从Java 4衍生而来的。