Clasa Wrapper Java (cu exemple)

Î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, floatetc.) î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 instanceofoperatorul pentru a verifica dacă obiectele generate sunt Integersau de Doubletip 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 Wrapperconstructori 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();
    În astfel de cazuri, clasele wrapper ne ajută să folosim tipuri de date primitive ca obiecte.
  • 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.

Articole interesante...