Al lanzar un int primitivo a un número
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!
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