2012-06-21 7 views

risposta

63

Sì, va bene. Lo int verrà convertito implicitamente in un long, che può sempre essere eseguito senza alcuna perdita di informazioni.

+0

Solo per aggiungere uno scenario che si è verificato. 'int a = Integer.MAX_VALUE; long b = a; 'il seguente dà false. 'print (a + 1> b)' Sembra che la conversione implicita avvenga dopo che 'a + 1' è stato memorizzato come' int' –

+0

@WeishiZeng: Sì, assolutamente. Entrambi gli operandi in 'a + 1' sono' int' - così che l'addizione avviene nell'aritmetica 'int', quindi la conversione in 'long', quindi il confronto. –

Problemi correlati