„Java Wrapper“ klasė (su pavyzdžiais)

Šioje pamokoje su pavyzdžių pagalba sužinosime apie „Java Wrapper“ klasę.

Vyniotuvas klasių Java yra naudojama konvertuoti primityvius tipus ( int, char, floatir tt), į atitinkamų objektų.

Kiekvienas iš 8 primityvių tipų turi atitinkamas įvyniojimo klases.

Pirmykštis tipas Vyniotuvo klasė
byte Byte
boolean Boolean
char Character
double Double
float Float
int Integer
long Long
short Short

Konvertuokite „Primitive Type“ į „Wrapper“ objektus

Mes taip pat galime naudoti valueOf()metodą primityviems tipams paversti atitinkamais objektais.

1 pavyzdys: primityvūs įvyniojimo objektų tipai

 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."); ) ) ) 

Rezultatas

Sukuriamas sveiko skaičiaus objektas. Sukuriamas „Double“ objektas.

Ankstesniame pavyzdyje mes naudojome valueOf()metodą primityviems tipams paversti objektais.

Čia mes naudojome instanceofoperatorių patikrinti ar sugeneruotas objektai yra Integerarba Doubletipo ar ne.

Tačiau „Java“ kompiliatorius gali tiesiogiai konvertuoti primityvius tipus į atitinkamus objektus. Pavyzdžiui,

 int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b; 

Šis procesas yra žinomas kaip automatinis boksas . Norėdami sužinoti daugiau, apsilankykite „Java“ autoboxing ir unboxing.

Pastaba : Primityvius tipus taip pat galime konvertuoti į pakavimo objektus, naudodami Wrapperklasės konstruktorius. Tačiau konstruktorių naudojimas atmetamas po „Java 9“.

Įvyniojimo objektai į primityvius tipus

Norėdami konvertuoti objektus į primityvius tipus, galime naudoti atitinkamus vertės metodus ( intValue(),, doubleValue()ir tt), esančius kiekvienoje įvyniojimo klasėje.

2 pavyzdys: įvyniojimo objektai į primityvius tipus

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

Rezultatas

 A reikšmė: 23 b reikšmė: 5,55 

Pirmiau pateiktame pavyzdyje, mes naudojamas intValue()ir doubleValue()metodą konvertuoti Integerir Doubleobjektus į atitinkantis primityvius tipus.

Tačiau „Java“ kompiliatorius gali automatiškai konvertuoti objektus į atitinkamus primityvius tipus. Pavyzdžiui,

 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; 

Šis procesas žinomas kaip išpakavimas . Norėdami sužinoti daugiau, apsilankykite „Java“ automatiniame naršymo ir išpakavimo aplankuose.

Vyniotinių klasių pranašumai

  • „Java“ kartais mums gali tekti naudoti objektus, o ne primityvius duomenų tipus. Pavyzdžiui, dirbant su kolekcijomis.
     // error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
    Tokiais atvejais „wrapper“ klasės padeda primityvius duomenų tipus naudoti kaip objektus.
  • Mes galime išsaugoti nulinę vertę pakavimo objektuose. Pavyzdžiui,
      // generates an error int a = null; // runs perfectly Integer a = null; 

Pastaba : Pirminiai tipai yra efektyvesni nei atitinkami objektai. Taigi, kai reikalingas efektyvumas, visada rekomenduojami primityvūs tipai.

Įdomios straipsniai...