În acest tutorial, vom afla despre clasa Java Wrapper cu ajutorul unor exemple.
Clasele înveliș din Java sunt folosite pentru a converti tipurile primitive ( int
, char
, float
etc.) în obiecte corespunzătoare.
Fiecare dintre cele 8 tipuri primitive are clase de împachetare corespunzătoare.
Tip primitiv | Clasa Wrapper |
---|---|
byte | Byte |
boolean | Boolean |
char | Character |
double | Double |
float | Float |
int | Integer |
long | Long |
short | Short |
Convertiți tipul primitiv în obiecte Wrapper
Putem folosi și valueOf()
metoda pentru a converti tipurile primitive în obiecte corespunzătoare.
Exemplul 1: Tipuri primitive pentru obiecte de înfășurare
class Main ( public static void main(String() args) ( // create primitive types int a = 5; double b = 5.65; //converts into wrapper objects Integer aObj = Integer.valueOf(a); Double bObj = Double.valueOf(b); if(aObj instanceof Integer) ( System.out.println("An object of Integer is created."); ) if(bObj instanceof Double) ( System.out.println("An object of Double is created."); ) ) )
Ieșire
Se creează un obiect al întregului. Se creează un obiect al lui Double.
În exemplul de mai sus, am folosit valueOf()
metoda pentru a converti tipurile primitive în obiecte.
Aici, am folosit instanceof
operatorul pentru a verifica dacă obiectele generate sunt Integer
sau de Double
tip sau nu.
Cu toate acestea, compilatorul Java poate converti direct tipurile primitive în obiecte corespunzătoare. De exemplu,
int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b;
Acest proces este cunoscut sub numele de box automat . Pentru a afla mai multe, vizitați Java autoboxing și unboxing.
Notă : De asemenea, putem converti tipurile primitive în obiecte wrapper folosind Wrapper
constructori de clase. Dar utilizarea constructorilor este eliminată după Java 9.
Înfășurați obiecte în tipuri primitive
Pentru a converti obiecte în tipurile primitive, putem folosi metodele de valoare corespunzătoare ( intValue()
, doubleValue()
etc.) prezente în fiecare clasă de înveliș.
Exemplul 2: Înfășurați obiecte în tipuri primitive
class Main ( public static void main(String() args) ( // creates objects of wrapper class Integer aObj = Integer.valueOf(23); Double bObj = Double.valueOf(5.55); // converts into primitive types int a = aObj.intValue(); double b = bObj.doubleValue(); System.out.println("The value of a: " + a); System.out.println("The value of b: " + b); ) )
Ieșire
Valoarea lui a: 23 Valoarea lui b: 5,55
În exemplul de mai sus, am folosit metoda intValue()
și doubleValue()
pentru a converti obiectele Integer
și Double
în tipuri primitive corespunzătoare.
Cu toate acestea, compilatorul Java poate converti automat obiecte în tipuri primitive corespunzătoare. De exemplu,
Integer aObj = Integer.valueOf(2); // converts into int type int a = aObj; Double bObj = Double.valueOf(5.55); // converts into double type double b = bObj;
Acest proces este cunoscut sub numele de unboxing . Pentru a afla mai multe, vizitați Java autoboxing și unboxing.
Avantajele claselor Wrapper
- În Java, uneori s-ar putea să avem nevoie să folosim obiecte în loc de tipuri de date primitive. De exemplu, în timp ce lucrați cu colecții.
// error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
- Putem stoca valoarea nulă în obiecte wrapper. De exemplu,
// generates an error int a = null; // runs perfectly Integer a = null;
Notă : tipurile primitive sunt mai eficiente decât obiectele corespunzătoare. Prin urmare, atunci când eficiența este cerința, este întotdeauna recomandat tipurile primitive.