2012-06-21 20 views

Respuesta

63

Sí, está bien. El int se convertirá implícitamente en long, lo que siempre se puede hacer sin pérdida de información.

+0

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' –

+0

@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. –

Cuestiones relacionadas