设置短值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衍生而来的。