O que é Autoboxing em Java? Com Exemplos

Publicados: 2023-01-28

No mundo contemporâneo, Java é a escolha renomada para criar scripts de aplicativos Android. Ele também encontra ampla demanda no ambiente de aprendizado de máquina, aplicativos em nuvem e tecnologia IOT. Os desenvolvedores precisam ter uma compreensão completa das tendências recentes na programação Java. Uma perspectiva profissional lucrativa é garantida para desenvolvedores Java porque a linguagem tem uma presença firme na empresa. Java não é apenas uma linguagem orientada a objetos líder no mercado de aplicativos móveis Android, mas também no campo do mercado de back-end.

Índice

Noções básicas de autoboxing em Java:

Durante o script de um programa, os tipos de dados primitivos são usados ​​na maioria das linguagens de programação. No entanto, em linguagens de programação orientadas a objetos, como Java, os tipos de dados primitivos não são eficazes em alguns cenários e ficam aquém do domínio. Para superar as limitações dos tipos de dados primitivos, são usados ​​wrappers. Esse fenômeno é chamado de autoboxing. Vamos discutir mais sobre autoboxing em Java nas seções subseqüentes.

Confira nossos cursos de tecnologia gratuitos para obter uma vantagem sobre a concorrência.

Explore nossos cursos populares de engenharia de software

Mestre em Ciência da Computação pela LJMU & IIITB Programa de Certificação de Cibersegurança Caltech CTME
Bootcamp de Desenvolvimento Full Stack Programa PG em Blockchain
Programa Executivo PG em Desenvolvimento Full Stack
Veja todos os nossos cursos abaixo
Cursos de Engenharia de Software

Autoboxing e Autounboxing:

Autoboxing é o processo de conversão de um valor primitivo em um objeto de classe wrapper. Por exemplo, um tipo de dados int é convertido em uma classe inteira. A função autoboxing é executada por um compilador Java se o valor primitivo for:

  • Atribuído a uma variável da respectiva classe wrapper.
  • Passado como argumento para um método que utiliza um objeto da respectiva classe wrapper.

Autoboxing é o inverso da função de autoboxing. A conversão de um objeto do tipo wrapper em seu respectivo valor primitivo é chamada de unboxing. Vamos considerar um exemplo de um objeto Integer convertido em um tipo de dados int. O compilador Java executa unboxing quando um objeto de classe wrapper é:

  • Atribuída uma variável do respectivo tipo primitivo.
  • Passado como um argumento para um método que requer o valor do tipo primitivo correspondente.

Aprenda Cursos de Desenvolvimento de Software online nas melhores universidades do mundo. Ganhe Programas Executivos de PG, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Habilidades de desenvolvimento de software sob demanda

Cursos de JavaScript Cursos Básicos de Java Cursos de estruturas de dados
Cursos de Node.js Cursos de SQL Cursos de desenvolvimento full stack
Cursos NFT Cursos DevOps Cursos de Big Data
Cursos React.js Cursos de segurança cibernética Cursos de computação em nuvem
Cursos de Design de Banco de Dados Cursos de Python Cursos de Criptomoedas

Autoboxing em detalhes:

Os termos boxe e autoboxing são usados ​​alternadamente em muitos casos para descrever o mesmo conceito. No entanto, há uma sutil diferença entre os dois termos. O termo 'boxing' refere-se ao empacotamento de um tipo de dados primitivo para formar um objeto. Vamos considerar um exemplo para entender esse conceito. Considere a declaração de código Java escrita abaixo.

int PrimeiroNúmero = 1;

Nesta instrução, a variável 'FirstNumber' é do tipo de dados int, que é primitivo. Ele pode ser convertido em um objeto usando a instrução abaixo.

Integer SecondNumber = new Integer(2);

A variável SecondNumber na instrução acima não é do tipo de dados int primitivo. Em vez disso, é um objeto Integer. Esse processo de conversão de tipos primitivos de dados em um objeto é chamado de boxing. A maneira mais fácil de executar essa tarefa é desenvolvendo uma classe que contenha um único atributo do tipo de dados int. Um construtor de valor de tipo int é atribuído ao atributo de classe. Vários métodos são usados ​​para manipular o valor int. As classes wrapper em Java podem ser usadas para permitir a conversão de outros tipos de dados em um objeto.

Autoboxing é a função executada automaticamente pelo compilador sem mencioná-la explicitamente.

MinhaLista.add(Integer.valueOf(i));

Esta é a linha adicionada pelo compilador em nosso programa.

Na declaração de código acima, o nome da classe 'Integer' é especificado antes de mencionar o método valueOf() porque valueOf() é um método estático.

Leia nossos artigos populares relacionados ao desenvolvimento de software

Como implementar a abstração de dados em Java? O que é classe interna em Java? Identificadores Java: Definição, Sintaxe e Exemplos
Entendendo o encapsulamento em OOPS com exemplos Argumentos de linha de comando em C explicados Os 10 principais recursos e características da computação em nuvem em 2022
Polimorfismo em Java: Conceitos, Tipos, Características e Exemplos Pacotes em Java e como usá-los? Tutorial do Git para iniciantes: aprenda o Git do zero

O que é unboxing em Java?

Agora que entendemos o processo de conversão de tipos de dados primitivos em objetos, vamos examinar o processo que faz a função inversa do boxing. Unboxing, como mencionado anteriormente, refere-se ao processo de conversão de um objeto do tipo classe wrapper em seus tipos de dados primitivos.

Quando o processo de unboxing é executado automaticamente pelo compilador sem mencioná-lo explicitamente no programa, ele é referido como Auto unboxing. Vamos considerar o exemplo mostrado abaixo para entender o unboxing automático.

Mais sobre classes wrapper:

No exemplo de autoboxing, a variável I é do tipo de dados int e o objeto Integer é uma classe wrapper. A classe wrapper em Java está disponível para todos os tipos de dados primitivos. Essas classes possibilitam ao usuário a conversão de uma variável do tipo de dado primitivo para o objeto correspondente do tipo classe wrapper. Os métodos da classe wrapper são usados ​​na manipulação dos valores. Os tipos de dados primitivos e suas respectivas classes wrapper estão resumidos na tabela abaixo. Observe que o nome das classes wrapper começa com uma letra maiúscula.

Tipo de dados primitivo

Classe wrapper correspondente

byte Byte
boleano boleano
Caracteres Personagem
int inteiro
flutuador Flutuador
Baixo Baixo
Grande Grande
Duplo Dobro

Méritos de Autoboxing e auto unboxing em Java:

  • O processo de autoboxing e unboxing permite que os programadores criem um script de código bem estruturado e facilmente legível.
  • O processo também permite que os usuários alternem entre os tipos de dados primitivos e os objetos da classe wrapper alternadamente. Portanto, o typecasting explícito não é necessário.

Se você estiver interessado em aprender mais sobre Java, desenvolvimento de software full-stack, confira o Programa Executivo PG em Desenvolvimento de Software da upGrad & IIIT-B - Especialização em Desenvolvimento Full Stack, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso , 9+ projetos e atribuições, status IIIT-B Alumni, projetos práticos práticos e assistência de trabalho com as principais empresas.

Quer compartilhar este artigo?

Prepare-se para uma Carreira do Futuro

Inscreva-se agora para Mestrado em Engenharia de Software