Autoboxing e unboxing Java

Neste tutorial, aprenderemos sobre autoboxing e unboxing Java com a ajuda de exemplos.

Java Autoboxing - Tipo primitivo para objeto Wrapper

No autoboxing , o compilador Java converte automaticamente os tipos primitivos em seus objetos de classe de wrapper correspondentes. Por exemplo,

 int a = 56; // autoboxing Integer aObj = a; 

O Autoboxing tem uma grande vantagem ao trabalhar com coleções Java.

Exemplo 1: Java Autoboxing

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); ) ) 

Resultado

 ArrayList: (5, 6) 

No exemplo acima, criamos uma lista de array do tipo Integer. Portanto, a lista de arrays só pode conter objetos do Integertipo.

Observe a linha,

 list.add(5); 

Aqui, estamos passando o valor do tipo primitivo. No entanto, devido ao autoboxing , o valor primitivo é automaticamente convertido em um Integerobjeto e armazenado na lista de vetores.

Java Unboxing - Objetos Wrapper para Tipos Primitivos

No unboxing , o compilador Java converte automaticamente os objetos da classe do wrapper em seus tipos primitivos correspondentes. Por exemplo,

 // autoboxing Integer aObj = 56; // unboxing int a = aObj; 

Assim como o autoboxing , o unboxing também pode ser usado com coleções Java.

Exemplo 2: Java Unboxing

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); // unboxing int a = list.get(0); System.out.println("Value at index 0: " + a); ) ) 

Resultado

 ArrayList: (5, 6) Valor no índice 0: 5 

No exemplo acima, observe a linha,

 int a = list.get(0); 

Aqui, o get()método retorna o objeto no índice 0. No entanto, devido ao unboxing , o objeto é automaticamente convertido no tipo primitivo inte atribuído à variável a.

Artigos interessantes...