Selles õpetuses õpime näidete abil Java Wrapperi klassi kohta.
Ümbris klasside Java kasutatakse teisendada primitiivne tüüpi ( int, char, floatjne) vastavatesse objektid.
Kõigil kaheksast primitiivsest tüübist on vastavad ümbrisklassid.
| Ürgne tüüp | Mähkmeklass | 
|---|---|
byte |  Byte |  
boolean |  Boolean |  
char |  Character |  
double |  Double |  
float |  Float |  
int |  Integer |  
long |  Long |  
short |  Short |  
Teisendage primitiivne tüüp ümbrisobjektideks
Samuti võime valueOf()meetodit kasutada primitiivsete tüüpide teisendamiseks vastavateks objektideks.
Näide 1: Ürgsed tüübid ümbriste objektidele
 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."); ) ) ) 
Väljund
Luuakse täisarvu objekt. Luuakse topeltobjekt.
Ülaltoodud näites oleme valueOf()primitiivsete tüüpide objektideks teisendamise meetodit kasutanud .
Siin oleme kasutanud instanceofoperaator kontrollida, kas loodud objektid on Integervõi Doubletüübi või mitte.
Java kompilaator suudab aga primitiivsed tüübid otse vastavateks objektideks teisendada. Näiteks,
 int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b; 
Seda protsessi nimetatakse autopoksiks . Lisateabe saamiseks külastage Java autoboxing ja unboxing.
Märkus . Klassikonstruktorite abil saame teisendada ka primitiivsed tüübid ümbrisobjektideks Wrapper. Kuid konstruktorite kasutamine visatakse Java 9 järel kõrvale.
Pakkimisobjektid primitiivseteks tüüpideks
Teisendada esemeid primitiivne tüüpi, saame kasutada vastava väärtuse meetodeid ( intValue(), doubleValue()jne) esineb iga ümbris klassi.
Näide 2: Pakkimisobjektid primitiivseteks tüüpideks
 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); ) ) 
Väljund
A väärtus: 23 väärtus b: 5,55
Eespool toodud näites, oleme kasutanud intValue()ja doubleValue()meetod teisendada Integerja Doubleesemeid, mis vastab primitiivne tüüpi.
Kuid Java kompilaator suudab objektid automaatselt teisendada vastavateks primitiivseteks tüüpideks. Näiteks,
 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; 
See protsess on tuntud kui kasti tühistamine . Lisateabe saamiseks külastage Java autoboxing ja unboxing.
Pakendiklasside eelised
- Javas võib juhtuda, et peame primitiivsete andmetüüpide asemel kasutama objekte. Näiteks kollektsioonidega töötamise ajal.
Sellistel juhtudel aitavad ümbrikuklassid meil kasutada objektidena primitiivseid andmetüüpe.// error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList(); - Saame nullväärtuse salvestada ümbrisobjektidesse. Näiteks,
// generates an error int a = null; // runs perfectly Integer a = null; 
Märkus : primitiivsed tüübid on tõhusamad kui vastavad objektid. Seega, kui nõutav on tõhusus, soovitatakse alati primitiivseid tüüpe.








