valor - variables de referencia en java
ConfiguraciĆ³n de valor corto Java (3)
En Java, los literales enteros son de tipo int a menos que estén sufijos con la letra ''L'' o ''l'' (se prefiere la mayúscula L ya que la minúscula L es difícil de distinguir del número 1). Si tiene el sufijo L, los literales son de tipo largo.
El sufijo no tiene ningún nombre especial en la Especificación del lenguaje Java. Tampoco hay sufijos para ningún otro tipo entero. Por lo tanto, si necesita un literal corto o de byte, deben ser cascados:
byte foo = (byte)0;
short bar = (short)0;
En setLongValue (100L) no es necesario que incluya necesariamente el sufijo L porque en este caso el literal int se amplía automáticamente a largo. Esto se denomina conversión primitiva de ampliación en la especificación de lenguaje de Java.
Estoy escribiendo un pequeño código en J2ME. Tengo una clase con un método setTableId(Short tableId)
. Ahora, cuando intento escribir setTableId(100)
me da error de compilación. ¿Cómo puedo establecer el valor corto sin declarar otra variable corta?
Al configurar Long
value, puedo usar setLongValue(100L)
y funciona. Entonces, ¿qué significa L
aquí y cuál es el personaje de Valor Short
?
Gracias
No existe un byte o literal corto. Tienes que lanzar al corto usando (short)100
Puede usar setTableId((short)100)
. Creo que esto se modificó en Java 5 de modo que se asume automáticamente que los literales numéricos asignados a byte o short y dentro del rango para el target son el tipo de destino. Sin embargo, las últimas JVM de J2ME derivan de Java 4.