U ovom uputstvu uz primjere ćemo naučiti o klasi Java Wrapper.
Omot nastava u Java se koristi za pretvaranje primitivne vrste ( int
, char
, float
, itd) u odgovarajućim objektima.
Svaka od 8 primitivnih vrsta ima odgovarajuće klase omota.
Primitivni tip | Klasa omota |
---|---|
byte | Byte |
boolean | Boolean |
char | Character |
double | Double |
float | Float |
int | Integer |
long | Long |
short | Short |
Pretvori primitivni tip u omotačke objekte
valueOf()
Metodu također možemo koristiti za pretvaranje primitivnih tipova u odgovarajuće objekte.
Primjer 1: Primitivni tipovi omotača objekata
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."); ) ) )
Izlaz
Stvoren je objekt cjeline. Stvoren je objekt Doublea.
U gornjem primjeru koristili smo valueOf()
metodu za pretvaranje primitivnih tipova u objekte.
Ovdje smo koristili instanceof
operatera kako biste provjerili jesu li generiran predmeti su Integer
ili Double
tipa ili ne.
Međutim, Java kompajler može izravno pretvoriti primitivne tipove u odgovarajuće objekte. Na primjer,
int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b;
Taj je postupak poznat pod nazivom auto-boks . Da biste saznali više, posjetite Java autoboxing i unboxing.
Napomena : Primitivne tipove također možemo pretvoriti u objekte omotača pomoću Wrapper
konstruktora klasa. Ali upotreba konstruktora odbačena je nakon Jave 9.
Omotač objekata u primitivne tipove
Za pretvaranje predmete u primitivnih tipova, možemo koristiti odgovarajuće metode vrijednost ( intValue()
, doubleValue()
itd) prisutan u svakom omotač klasi.
Primjer 2: Omotani objekti u primitivne tipove
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); ) )
Izlaz
Vrijednost a: 23 Vrijednost b: 5,55
U gore navedenom primjeru, mi smo koristili intValue()
i doubleValue()
metodom za pretvaranje Integer
i Double
predmete u odgovarajuće primitivne vrste.
Međutim, Java kompajler može automatski pretvoriti objekte u odgovarajuće primitivne tipove. Na primjer,
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;
Taj je postupak poznat pod nazivom raspakiranje . Da biste saznali više, posjetite Java autoboxing i unboxing.
Prednosti klasa omota
- U Javi ćemo ponekad možda trebati koristiti objekte umjesto primitivnih tipova podataka. Na primjer, tijekom rada s kolekcijama.
// error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
- Nultu vrijednost možemo pohraniti u objekte omota. Na primjer,
// generates an error int a = null; // runs perfectly Integer a = null;
Napomena : Primitivni tipovi učinkovitiji su od odgovarajućih objekata. Stoga, kada je učinkovitost zahtjev, uvijek se preporučuju primitivni tipovi.