Pregunta

Vamos a decir que tengo el siguiente:

int a = 2;
Number b = (Number) a;

System.out.println(b); // Prints 2

http: //java.sun .com / docs / libros / JLS / first_edition / html / 15.doc.html # 238146 dice que un valor primitivo no puede lanzarse a un tipo de referencia. Hace saber de Java para crear un número entero de la int primitivo y luego arrojado a la superclase? ¿Cómo funciona exactamente de Java manejar esta detrás de las escenas? Gracias!

¿Fue útil?

Solución

El proceso se llama autoboxing . En pocas palabras, el compilador ve que se necesita una envoltura (Integer) en lugar de una primitiva (int) y agrega automáticamente la conversión. Y en realidad el yeso a Number no es necesario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top