Razred Java Wrapper (z primeri)

V tej vadnici bomo s pomočjo primerov spoznali razred Java Wrapper.

Razredi ovojnic v Java se uporablja za pretvorbo primitivnih tipov ( int, char, float, itd) v ustrezne objekte.

Vsak od 8 primitivnih vrst ima ustrezne razrede ovitkov.

Primitivni tip Razred zavijanja
byte Byte
boolean Boolean
char Character
double Double
float Float
int Integer
long Long
short Short

Pretvorite primitivni tip v predmete za zavijanje

valueOf()Metodo lahko uporabimo tudi za pretvorbo primitivnih vrst v ustrezne predmete.

Primer 1: Primitivni tipi zavojnih predmetov

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

Izhod

Ustvari se objekt Integer. Ustvarjen je objekt Double.

V zgornjem primeru smo valueOf()metodo uporabili za pretvorbo primitivnih vrst v predmete.

Tu smo uporabili instanceofoperator preveriti, ali so ustvarjeni predmeti iz Integerali Doubletipa ali ne.

Prevajalnik Java pa lahko neposredno pretvori primitivne tipe v ustrezne predmete. Na primer

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

Ta postopek je znan kot avtoboks . Če želite izvedeti več, obiščite Javo autoboxing in unboxing.

Opomba : Prav tako lahko s Wrapperkonstruktorji razredov pretvorimo primitivne tipe v predmete ovoja . Toda uporaba konstruktorjev se po Java 9 zavrže.

Predmeti zaviti v primitivne tipe

Za pretvorbo predmetov v primitivnih tipov, lahko uporabimo ustrezne metode vrednost ( intValue(), doubleValue()itd), prisotna v vsaki zavitka razredu.

Primer 2: Ovojni predmeti v prvotne vrste

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

Izhod

 Vrednost a: 23 Vrednost b: 5,55 

V zgornjem primeru smo uporabili metodo intValue()in doubleValue()za pretvorbo predmetov Integerin Doublev ustrezne primitivne tipe.

Prevajalnik Java pa lahko samodejno pretvori predmete v ustrezne primitivne vrste. Na primer

 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; 

Ta postopek je znan kot razpakiranje . Če želite izvedeti več, obiščite Javo autoboxing in unboxing.

Prednosti razredov zavijanja

  • V Javi bomo včasih morda morali uporabiti predmete namesto primitivnih podatkovnih vrst. Na primer med delom z zbirkami.
     // error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
    V takih primerih nam razredi ovitkov pomagajo, da primitivne tipe podatkov uporabimo kot predmete.
  • Ničelno vrednost lahko shranimo v predmete ovoja. Na primer
      // generates an error int a = null; // runs perfectly Integer a = null; 

Opomba : Primitivni tipi so učinkovitejši od ustreznih predmetov. Kadar je zato potrebna učinkovitost, se vedno priporočajo primitivni tipi.

Zanimive Članki...