logo

Classes wrapper em Java

O classe wrapper em Java fornece o mecanismo para converter primitivo em objeto e objeto em primitivo .

Desde J2SE 5.0, boxe automático e desembalar recurso converte primitivos em objetos e objetos em primitivos automaticamente. A conversão automática do primitivo em um objeto é conhecida como autoboxing e vice-versa unboxing.

Uso de classes Wrapper em Java

Java é uma linguagem de programação orientada a objetos, portanto precisamos lidar com objetos muitas vezes como em Coleções, Serialização, Sincronização, etc. Vejamos os diferentes cenários, onde precisamos usar as classes wrapper.

obj em java
    Altere o valor no Método:Java suporta apenas chamadas por valor. Portanto, se passarmos um valor primitivo, o valor original não será alterado. Mas, se convertermos o valor primitivo em um objeto, o valor original será alterado.Serialização:Precisamos converter os objetos em streams para realizar a serialização. Se tivermos um valor primitivo, podemos convertê-lo em objetos através das classes wrapper.Sincronização:A sincronização Java funciona com objetos em Multithreading.pacote java.util:O pacote java.util fornece classes de utilitários para lidar com objetos.Estrutura de coleta:A estrutura de coleção Java funciona apenas com objetos. Todas as classes da estrutura de coleção (ArrayList, LinkedList, Vector, HashSet, LinkedHashSet, TreeSet, PriorityQueue, ArrayDeque, etc.) lidam apenas com objetos.

As oito turmas do java.lang pacote são conhecidos como classes wrapper em Java. A lista de oito classes de wrapper é fornecida abaixo:

Tipo PrimitivoClasse de wrapper
boleanoboleano
Caracteres Personagem
byteByte
curtoCurto
interno Inteiro
longoLongo
flutuadorFlutuador
dobroDobro

Boxe automático

A conversão automática do tipo de dados primitivo em sua classe wrapper correspondente é conhecida como autoboxing, por exemplo, byte para Byte, char para Character, int para Integer, long para Long, float para Float, boolean para Boolean, double para Double e short para curto.

Desde Java 5, não precisamos usar o método valueOf() das classes wrapper para converter o primitivo em objetos.

verificação java é nula

Exemplo de classe Wrapper: Primitivo para Wrapper

 //Java program to convert primitive into objects //Autoboxing example of int to Integer public class WrapperExample1{ public static void main(String args[]){ //Converting int into Integer int a=20; Integer i=Integer.valueOf(a);//converting int into Integer explicitly Integer j=a;//autoboxing, now compiler will write Integer.valueOf(a) internally System.out.println(a+' '+i+' '+j); }} 

Saída:

 20 20 20 

Desembalagem

A conversão automática do tipo wrapper em seu tipo primitivo correspondente é conhecida como unboxing. É o processo inverso do autoboxing. Desde Java 5, não precisamos usar o método intValue() das classes wrapper para converter o tipo de wrapper em primitivos.

Exemplo de classe Wrapper: Wrapper para Primitivo

 //Java program to convert object into primitives //Unboxing example of Integer to int public class WrapperExample2{ public static void main(String args[]){ //Converting Integer to int Integer a=new Integer(3); int i=a.intValue();//converting Integer to int explicitly int j=a;//unboxing, now compiler will write a.intValue() internally System.out.println(a+' '+i+' '+j); }} 

Saída:

funções do arduino
 3 3 3 

Exemplo de classes Java Wrapper

 //Java Program to convert all primitives into its corresponding //wrapper objects and vice-versa public class WrapperExample3{ public static void main(String args[]){ byte b=10; short s=20; int i=30; long l=40; float f=50.0F; double d=60.0D; char c='a'; boolean b2=true; //Autoboxing: Converting primitives into objects Byte byteobj=b; Short shortobj=s; Integer intobj=i; Long longobj=l; Float floatobj=f; Double doubleobj=d; Character charobj=c; Boolean boolobj=b2; //Printing objects System.out.println('---Printing object values---'); System.out.println('Byte object: '+byteobj); System.out.println('Short object: '+shortobj); System.out.println('Integer object: '+intobj); System.out.println('Long object: '+longobj); System.out.println('Float object: '+floatobj); System.out.println('Double object: '+doubleobj); System.out.println('Character object: '+charobj); System.out.println('Boolean object: '+boolobj); //Unboxing: Converting Objects to Primitives byte bytevalue=byteobj; short shortvalue=shortobj; int intvalue=intobj; long longvalue=longobj; float floatvalue=floatobj; double doublevalue=doubleobj; char charvalue=charobj; boolean boolvalue=boolobj; //Printing primitives System.out.println('---Printing primitive values---'); System.out.println('byte value: '+bytevalue); System.out.println('short value: '+shortvalue); System.out.println('int value: '+intvalue); System.out.println('long value: '+longvalue); System.out.println('float value: '+floatvalue); System.out.println('double value: '+doublevalue); System.out.println('char value: '+charvalue); System.out.println('boolean value: '+boolvalue); }} 

Saída:

 ---Printing object values--- Byte object: 10 Short object: 20 Integer object: 30 Long object: 40 Float object: 50.0 Double object: 60.0 Character object: a Boolean object: true ---Printing primitive values--- byte value: 10 short value: 20 int value: 30 long value: 40 float value: 50.0 double value: 60.0 char value: a boolean value: true 

Classe Wrapper personalizada em Java

As classes Java Wrapper envolvem os tipos de dados primitivos, por isso são conhecidas como classes wrapper. Também podemos criar uma classe que agrupa um tipo de dados primitivo. Portanto, podemos criar uma classe wrapper customizada em Java.

 //Creating the custom wrapper class class Javatpoint{ private int i; Javatpoint(){} Javatpoint(int i){ this.i=i; } public int getValue(){ return i; } public void setValue(int i){ this.i=i; } @Override public String toString() { return Integer.toString(i); } } //Testing the custom wrapper class public class TestJavatpoint{ public static void main(String[] args){ Javatpoint j=new Javatpoint(10); System.out.println(j); }} 

Saída:

 10