O que é AutoBoxing e unboxing em Java?



Este artigo fornecerá uma abordagem abrangente do Autoboxing em Java, juntamente com alguns exemplos para melhor compreensão.

Na maioria das vezes, usamos tipos de dados primitivos ao escrever um programa em qualquer linguagem. Mas há situações em que os tipos de dados primitivos ficam aquém no domínio da e é um deles. Para superar as desvantagens dos tipos de dados primitivos, usamos invólucros . Este procedimento é denominado Autoboxing. Discutiremos o Autoboxing detalhado em Java por meio do súmula abaixo:

Vamos começar.





O que é Boxe e Autoboxing em Java?

O boxe e o autoboxing são freqüentemente usados ​​para se referir ao mesmo conceito. Mas, na realidade, eles não são exatamente os mesmos. Vamos primeiro falar sobre o conceito de boxe. O que é boxe? Parece que estamos mantendo algo dentro de uma caixa, certo? Sim, quando dizemos que estamos encaixotando ou embalando um tipo de dados primitivo, isso significa que o estamos embalando para formar um objeto. Ainda confuso? Vamos dar um exemplo.

int FirstNumber = 1

A variável ‘FirstNumber’ é do tipo int, que é um . Agora, e se eu quiser converter a variável ‘FirstNumber’ em um objeto? Java fornece uma maneira de fazer isso.



Número inteiro do segundo = novo número inteiro (2)

Observe que ‘SecondNumber’ não é do tipo int, mas é um objeto do tipo Integer. Este processo de conversão de tipos de dados primitivos em um objeto é chamado de boxing. Você pode perguntar como isso é possível? Vamos pensar sobre qual é a maneira mais simples de realizar essa tarefa. Podemos criar um classe contendo um único atributo do tipo int, um construtor que pega um valor do tipo int e o atribui ao nosso atributo de classe e alguns métodos para manipular esse valor int. Para saber mais sobre isso, consulte este documento .

Vimos como o tipo int pode ser convertido em Java. Existe uma maneira de converter outros tipos de dados primitivos em objetos? Sim, Java tem os respectivos classe wrapper para diferentes tipos de dados primitivos. Vamos examiná-los na próxima seção deste post.

Autoboxing

Neste ponto, sabemos o que é boxe. Agora vamos entender o que é Autoboxing. quando o processo de boxing é feito pelo compilador sem explicitamente mencionado, é chamado autoboxing.



Vamos entender isso com um exemplo:

import java.util.ArrayList import java.util.Listclass Box {public static void main (String [] args) {List Mylist = new ArrayList () para (int i = 0 i<10 i++) Mylist.add(i) } }

Como discutimos anteriormente aceita apenas objetos e tipos de dados primitivos não funcionam. No programa acima, não convertemos objetos do tipo para inteiros, mas o programa é executado sem erros. Como? A resposta a esta pergunta é: o compilador fez automaticamente o processo de boxing antes de adicionar o valor a ‘Mylist’, daí o nome Autoboxing.

Mylist.add (Integer.valueOf (i))

A linha de código acima é adicionada em nosso programa pelo compilador.

Nota- Na linha de código acima, o nome da classe 'Integer' é mencionado antes do método valueOf (), uma vez que valueOf () é um método estático. Para mais exemplos, consulte o docs .

Unboxing e Autounboxing

Nós vimos como do tipo de dados primitivo são convertidos em objetos. Mas esta é apenas metade da história. A outra metade da história é converter um objeto de uma classe wrapper de tipo em seu tipo de dados primitivo é chamado unboxing .

Por exemplo-

Número inteiro FirstNumber = new Integer (1) int SecondNumber = FirstNumber.intValue () System.out.println (SecondNumber)

Produto- 1

Autounboxing- Quando o processo de unboxing feito pelo compilador sem citar explicitamente é denominado Autounboxing.

Por exemplo-

Número inteiro = novo inteiro (20) int num = Número

O código acima é um exemplo de Autounboxing. Na próxima seção, aprenderemos sobre classes de wrapper.

como inicializar uma classe em python

Classes Wrapper

Nós convertemos na variável de tipo intl objeto de tipo inteiro. Esta classe inteira é uma classe de invólucro. Em Java, uma classe de wrapper está disponível para cada . Essas classes de wrapper nos ajudam a converter uma variável do tipo primitivo para o respectivo objeto de tipo de classe de wrapper. Os métodos das classes de wrapper são úteis na manipulação de valores.

A tabela a seguir nos fala sobre o tipo de dado primitivo e sua respectiva classe de wrapper.

o que alerta faz em javascript
Tipo Primitivo Classe Wrapper

boleano

boleano

tchau

Byte

Caracteres

Personagem

flutuador

Flutuador

int

Inteiro

longo

Longo

curto

Curto

em dobro

em dobro

Observe a capitalização nas classes Wrapper.

Assim, chegamos ao fim deste artigo sobre ‘Autoboxing em Java’. Se você deseja saber mais, confira o pela Edureka, uma empresa de aprendizagem online confiável. O curso de certificação e treinamento Java J2EE e SOA da Edureka foi projetado para treiná-lo tanto para os conceitos básicos e avançados do Java, juntamente com várias estruturas Java como Hibernate e Spring

Tem alguma questão para nós? Mencione isso na seção de comentários deste blog “autoboxing em Java” e entraremos em contato com você o mais breve possível.