¿Está bien para comparar un int y un largo en Java ...¿Está bien para comparar un int y un largo en Java
long l = 800L
int i = 4
if (i < l) {
// i is less than l
}
¿Está bien para comparar un int y un largo en Java ...¿Está bien para comparar un int y un largo en Java
long l = 800L
int i = 4
if (i < l) {
// i is less than l
}
Sí, está bien. El int
se convertirá implícitamente en long
, lo que siempre se puede hacer sin pérdida de información.
Solo para agregar un escenario que apareció. 'int a = Integer.MAX_VALUE; long b = a; 'lo siguiente da falso. 'print (a + 1> b)' Parece que la conversión implícita ocurre después de que 'a + 1' se almacena como' int' –
@WeishiZeng: Sí, absolutamente. Ambos operandos en 'a + 1' son' int' - de modo que la adición ocurre en 'int' arithmetic, luego la conversión a' long', luego la comparación. –
¿Por qué razón no podría ser? – bestsss
¿Qué pasó cuando lo probaste? – EJP