logo

Clasele Wrapper în Java

The clasă wrapper în Java asigură mecanismul a converti primitivul în obiect și obiectul în primitiv .

De la J2SE 5.0, autoboxing și unboxing caracteristica convertește automat primitivele în obiecte și obiectele în primitive. Conversia automată a primitivului într-un obiect este cunoscută sub numele de autoboxing și viceversa unboxing.

Utilizarea claselor Wrapper în Java

Java este un limbaj de programare orientat pe obiecte, așa că trebuie să ne ocupăm de obiecte de multe ori, cum ar fi în Colecții, Serializare, Sincronizare etc. Să vedem diferitele scenarii, în care trebuie să folosim clasele wrapper.

tipuri de învățare automată
    Modificați valoarea în Metodă:Java acceptă numai apeluri după valoare. Deci, dacă trecem o valoare primitivă, aceasta nu va schimba valoarea inițială. Dar, dacă convertim valoarea primitivă într-un obiect, aceasta va schimba valoarea inițială.Serializare:Trebuie să convertim obiectele în fluxuri pentru a realiza serializarea. Dacă avem o valoare primitivă, o putem converti în obiecte prin clasele wrapper.Sincronizare:Sincronizarea Java funcționează cu obiecte în Multithreading.pachet java.util:Pachetul java.util oferă clasele de utilitate pentru a face față obiectelor.Cadrul de colectare:Cadrul de colecție Java funcționează numai cu obiecte. Toate clasele cadrului de colecție (ArrayList, LinkedList, Vector, HashSet, LinkedHashSet, TreeSet, PriorityQueue, ArrayDeque etc.) se ocupă numai cu obiecte.

Cele opt clase ale java.lang pachetele sunt cunoscute ca clase wrapper în Java. Lista celor opt clase de wrapper este prezentată mai jos:

Tipul primitivClasa Wrapper
booleanboolean
char Caracter
octetoctet
mic de staturaMic de statura
int Întreg
lungLung
plutiPluti
dublaDubla

Autoboxing

Conversia automată a tipului de date primitiv în clasa wrapper corespunzătoare este cunoscută sub numele de autoboxing, de exemplu, byte la Byte, character la Character, int la Integer, long la Long, float la Float, boolean la Boolean, double la Double și short la Short.

Din Java 5, nu trebuie să folosim metoda valueOf() a claselor wrapper pentru a converti primitivul în obiecte.

șiruri de caractere java concat

Clasa Wrapper Exemplu: Primitiv la 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); }} 

Ieșire:

 20 20 20 

Unboxing

Conversia automată a tipului de ambalaj în tipul său primitiv corespunzător este cunoscută sub numele de unboxing. Este procesul invers al autoboxing-ului. Din Java 5, nu trebuie să folosim metoda intValue() a claselor wrapper pentru a converti tipul wrapper în primitive.

Clasa Wrapper Exemplu: Wrapper la Primitive

 //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); }} 

Ieșire:

sistem de operare
 3 3 3 

Exemplu de clase 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); }} 

Ieșire:

 ---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 

Clasa Wrapper personalizată în Java

Clasele Java Wrapper încapsulează tipurile de date primitive, de aceea sunt cunoscute sub denumirea de clase Wrapper. De asemenea, putem crea o clasă care include un tip de date primitiv. Deci, putem crea o clasă de wrapper personalizată în 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); }} 

Ieșire:

 10