Deo zbornika Učimo Javu
Klase omotači
Svi osnovni tipovi podataka imaju odgovarajuće klase omotače (wrapper classes), koje sadrže korisne metode za rad sa odgovarajućim tipovima podataka.
Klase omotači imaju dve svrhe:
-
Sadrže odredeni broj korisnih funkcija za rad sa osnovnim tipovima podataka. Na primer, klasa
Integer
sadrži metode kao što su konverzijaString
tipa uint
, pretvaranjeint
ufloat
i druge.Integer
klasa omogućava i da definišete minimalne i maksimalne vrednosti odredenog tipa. -
Neke Java kolekcije ne mogu da skladište vrednosti osnovnih tipova podataka (kao što je
ArrayList
), tako da osnovni tipovi moraju da budu prevedeni u objekte - na primer:
ArrayList mojiBrojevi = new ArrayList();
mojiBrojevi.add(new Integer(6));
mojiBrojevi.add(new Integer(15));
Automatsko pakovanje u objekat (autoboxing)
Java ima mogućnost automatskog konvertovanja iz primitivnog tipa u odgovarajući objekat (autoboxing), pa se automatski kreira nova instanca za svaki osnovni tip podataka.
Jednostavno, umesto:
mojiBrojevi.add(new Integer(6));
možete da napišete:
mojiBrojevi.add(6);
i vrednost osnovnog tipa 6
automatski se konvertuje u instancu Integer
klase.
Automatsko otpakivanje vrednosti (unboxing)
Kompajler će raditi i obrnutu konverziju, iz objekta omotač klase u vrednost koju enkapsulira. Shodno tome, i sledeća linija je validna:
int luckyNumber = myLotteryNumber.get(23);
Iako get(23)
vraća vrednost 24-og elementa (index počinje od nule) kao Integer
objekat, taj objekat se automatski konvertuje u vrednost osnovnog tipa podataka. To je označeno kao otpakivanje (unboxing).
Izvor: Yakov Fain, Java 8 programiranje (promo lekcija), Kompjuter biblioteka, Beograd, 2015.