Introducere în clasa Wrapper în Java
Clasa Wrapper este o clasă importantă a bibliotecii java.lang. Obiectele clasei Wrapper creează un înveliș pentru tipurile de date primitive. În timp ce creează un obiect al clasei de înveliș, spațiul este creat în memoria în care sunt stocate tipuri de date primitive.
Clasa Wrapper oferă câteva caracteristici pentru conversia obiectului în date primitive și date primitive în obiect, adică box / unboxing. Conversia de la obiect la date primitive și date primitive la un obiect are loc automat. Tipul de date primitive se referă la int, float, char, double, byte etc.
Sintaxă:
Mai jos, declarația dată arată cum funcționează o clasă Wrapper în programul java.
de exemplu int i = 100;
În exemplul de mai jos, putem vedea că i este un tip de date întreg. Un anumit timp în Java întreg trebuie trecut ca un tip de obiect. În acest caz, putem folosi clasa de înveliș pentru a converti un număr întreg într-un obiect.
Integer intVal = new Integer(i);
În sintaxa dată mai sus, putem vedea cum un tip de date primitiv este convertit la un obiect folosind un obiect de clasă Integer. De asemenea, se poate spune că tipul de date primitive este învelit ca obiect.
Utilizări ale clasei Wrapper în Java
- Clasa Wrapper poate fi utilizată pentru a converti un obiect într-un tip de date primitiv sau invers.
- Utilizarea claselor de înveliș îmbunătățește performanța programului.
- Clasa Wrapper ajută la serializarea obiectului și invers, poate converti date primitive în obiecte. Uneori, trebuie să transmitem fluxuri de obiecte, în acest caz, clasa de înveliș o poate converti în format de serializare.
- Unele metode importante sunt furnizate de clasa de înveliș, care este utilizată pentru a efectua căutarea și sortarea în colecții.
- Scăzând și adăugând, aceste tipuri de operații nu pot modifica vechea valoare a numărului întreg primitiv al clasei Wrapper, de aceea clasa Wrapper este cunoscută ca imuabilă.
- Clasa de înfășurare folosită în procesul de multitratare, deoarece procesul de citire a procesului are nevoie de un obiect pentru sincronizarea proceselor. Clasa Wrapper convertește diferite tipuri de date la un obiect.
Pe baza JavaAPI, ierarhia clasei Wrapper păstrează obiectul în partea de sus a diferitelor clase primitive. Numărul, personajul și booleanul ajung la al doilea nivel imediat după obiect. La al treilea nivel Byte, Short, Int, Long, Float, Double se încadrează sub tipul de date Number.
Clasele Wrapper utilizează următoarele două mecanisme Autoboxing & unboxing pentru conversia / înfășurarea tipului de date sau conversia unui obiect în tipul de date primitiv.
Autoxoxing: Autoxoxing se referă la conversia automată a tipului de date primitive în obiect folosind clase Wrapper. Este cunoscut sub numele de Autoboxing. În Exemplele de mai jos, convertite în obiect Integer și în exemplele c, diferite tipuri de date primitive sunt convertite în obiectul corespunzător.
Unboxing: Unboxing este procesul invers al autoxoxing-ului. Convertirea automată a obiectului clasei de înveliș în tipul de date primitiv corespunzător este cunoscută sub numele de Unboxing. În exemplul b de mai jos, obiectul Integer este transformat în tip de date int primitive.
Exemple de clasă Wrapper în Java
Mai jos sunt prezentate diferitele exemple de Clasa Wrapper din Java.
Exemplul # 1
În exemplul de mai jos, putem vedea cum se face conversia manuală prin clasa de înveliș de la int i la un obiect k.
Cod:
import java.util.*;
class WrapperExample (
public static void main(String args())(
int j=100;
//converting int j to integer k as an object
Integer k = new Integer(j);
System.out.println(j + "\n" + k);
)
)
ieşire:
În exemplul menționat mai sus, putem vedea cum are loc conversia în mod explicit.
Exemplul # 2
În exemplul de mai jos, putem vedea că acest proces de conversie are loc uneori automat, adică cunoscut sub numele de autoboxing.
Cod:
import java.util.*;
class AutoboxingUnboxingExample (
public static void main(String args())(
int j = 500;
ArrayList arrValues = new ArrayList();
arrValues.add(j); // autoboxing takes place implicitly
System.out.println(arrValues.get(0));
)
)
ieşire:
În exemplul menționat mai sus, valoarea int convertită în obiect implicit ca obiect. Mai mult, această valoare poate fi obținută de la ArrayList.
Exemplul # 3
În acest exemplu, vom parcurge implementarea Unboxing. Unboxing-ul este procesul invers al autoxoxing-ului.
Cod:
import java.util.*;
class AutoboxingUnboxingExample (
public static void main(String args())(
ArrayList arrValues = new ArrayList();
arrValues.add(250);
//unboxing here as int data type from Integer object
int k = arrValues.get(0);
//value printed is in primitive data type
System.out.println(k);
)
)
ieşire:
În exemplul dat mai sus, câmpul obiect ArrayList este transformat în k tip de date primitive, adică int k.
Exemplul # 4
Următorul exemplu dat conține toate detaliile despre Autoxoxing & Unboxing.
Cod:
import java.util.*;
class WrapperConversionExample (
public static void main(String args())(
int i = 15;
float j = 9.6f;
double k = 120.8;
byte l = 1;
//creating instance of Integer object
Integer iObj = new Integer(i);
//creating instance of Float object
Float fObj = new Float(j);
//creating instance of Double object
Double dObj = new Double(k);
//creating instance of Double object
Byte bObj = new Byte(l);
//value printed is in object
System.out.println("Value as an Integer object > " + iObj);
System.out.println("Value as a Float object > " + fObj);
System.out.println("Value as a Double object > " + dObj);
System.out.println("Value as a Byte object > " + bObj);
//primitive data type from the object
int m = iObj;
float n = fObj;
double o = dObj;
byte p = bObj;
//value printed is in primitive data type
System.out.println("Value as an int primitive type > " + m);
System.out.println("Value as a float primitive type > " + n);
System.out.println("Value as a double primitive type > "+ o);
System.out.println("Value as a byte primitive type > " + p);
)
)
ieşire:
În programul menționat mai sus, putem vedea implementarea claselor Wrapper. Clasele de înveliș transformă tipul de date primitiv în obiect și obiect în tipul de date primitive. Clasa wrapper oferă clase separate pentru fiecare tip de date primitive.
Concluzie
Prin intermediul claselor Wrapper, putem înțelege cu ușurință autoboxing & unboxing-ul. Cum are loc conversia de la primitiv la obiect și invers, care poate fi înțeles cu ușurință prin clasele Wrapper. Pentru fiecare dintre tipurile de date primitive, există o clasă dedicată în java.
Articol recomandat
Acesta este un ghid pentru Clasa Wrapper în Java. Aici discutăm sintaxa și utilizările clasei de înveliș în Java, împreună cu diferite exemple și implementarea codului. Puteți parcurge și alte articole sugerate pentru a afla mai multe -
- Cum are loc Declarația de caz în Java?
- Ce este Generics în Java?
- Conceptul de serializare în Java
- Top 8 Întrebări de interviu Java
- Instrumente de implementare Java
- Exemple și mod de funcționare a genericilor în C #