Gabarito disponível
public class Exame
{
public static void main(String[] args)
{
Integer[] arrayInteiros = new Integer[1];
arrayInteiros [0] = 2 ;
Integer valorIntermediario = arrayInteiros [0];
int valor = valorIntermediario;
System.out.printf("%d ", valor);
}
}
Resolução comentada
Autoboxing converte int em Integer; unboxing faz o inverso. O programa imprime 2.
Em 'arrayInteiros[0] = 2;' o literal int 2 é convertido automaticamente em Integer (autoboxing). A linha 'int valor = valorIntermediario;' é unboxing. O programa compila e imprime 2.
Análise das alternativas
A) Errada: a conversão entre Integer e int é automática, então compila. B) Errada: não há exceção, pois valorIntermediario não é null. D) Errada: imprime 2, não 0, e não há downcasting. E) Errada: Integer é classe de java.lang, importada implicitamente.
Referência: Java — wrapper classes, autoboxing e unboxing (java.lang.Integer).
Resolução comentada do VaiConcursos.