У овом упутству ћемо научити о класи Јава Враппер уз помоћ примера.
Класе враппер ин Јава се користе за претварање примитивне типове ( int, char, float, итд) у одговарајуће објекте.
Сваки од 8 примитивних типова има одговарајуће класе омотача.
| Примитивни тип | Класа омотача |
|---|---|
byte | Byte |
boolean | Boolean |
char | Character |
double | Double |
float | Float |
int | Integer |
long | Long |
short | Short |
Претворите примитивни тип у омотачке објекте
Такође можемо користити valueOf()методу за претварање примитивних типова у одговарајуће објекте.
Пример 1: Примитивни типови умотаних објеката
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."); ) ) )
Оутпут
Створен је објекат целог броја. Створен је објект Доубле-а.
У горњем примеру смо користили valueOf()методу за претварање примитивних типова у објекте.
Овде смо користили instanceofоператора да провери да ли су генерисани објекти су Integerили Doubleтипа или не.
Међутим, Јава компајлер може директно претворити примитивне типове у одговарајуће објекте. На пример,
int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b;
Овај процес је познат под називом ауто-бокс . Да бисте сазнали више, посетите Јава аутобокинг и унбокинг.
Напомена : Примитивне типове такође можемо претворити у објекте омотача помоћу Wrapperконструктора класа. Али употреба конструктора се одбацује након Јаве 9.
Обмотавајући предмети у примитивне типове
Да бисте конвертовали предмете у основним типовима, можемо користити методе одговарајуће вредности ( intValue(), doubleValue()итд) присутан у сваком враппер класи.
Пример 2: Обмотавајући објекти у примитивне типове
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); ) )
Оутпут
Вредност а: 23 Вредност б: 5,55
У горњем примеру, користили смо intValue()и doubleValue()метода за претворити Integerи Doubleобјекте у одговарајуће примитивне типове.
Међутим, Јава компајлер може аутоматски претворити објекте у одговарајуће примитивне типове. На пример,
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;
Овај процес је познат као распакивање . Да бисте сазнали више, посетите Јава аутобокинг и унбокинг.
Предности класе омотача
- У Јави ће понекад можда требати да користимо објекте уместо примитивних типова података. На пример, током рада са колекцијама.
У таквим случајевима класе омотача помажу нам да примитивне типове података користимо као објекте.// error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList(); - Нулту вредност можемо сачувати у објектима омотача. На пример,
// generates an error int a = null; // runs perfectly Integer a = null;
Напомена : Примитивни типови су ефикаснији од одговарајућих објеката. Стога, када је ефикасност захтев, увек се препоручују примитивни типови.








