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
Integersadrži metode kao što su konverzijaStringtipa uint, pretvaranjeintufloati druge.Integerklasa 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.