В този урок ще научим за класа Java Wrapper с помощта на примери.
Класовете на обвиващи в Java се използват за преобразуване на примитивни типове ( 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."); ) ) ) 
Изход
Създава се обект на Integer. Създава се обект на Double.
В горния пример използвахме valueOf()метода за преобразуване на примитивните типове в обекти.
Тук използвахме instanceofоператора, за да проверим дали генерираните обекти са Integerили са Doubleили не.
Компилаторът на Java обаче може директно да преобразува примитивните типове в съответни обекти. Например,
 int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b; 
Този процес е известен като автобокс . За да научите повече, посетете автобоксирането и разопаковането на Java.
Забележка : Можем също да преобразуваме примитивни типове в обвиващи обекти, като използваме Wrapperконструктори на класове. Но използването на конструктори се отхвърля след Java 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); ) ) 
Изход
Стойността на a: 23 Стойността на b: 5.55
В горния пример, сме използвали intValue()и doubleValue()метод за превръщане на Integerи Doubleпредмети в съответния примитиви.
Компилаторът на Java обаче може автоматично да конвертира обекти в съответни примитивни типове. Например,
 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; 
Този процес е известен като разопаковане . За да научите повече, посетете автобоксирането и разопаковането на Java.
Предимства на класовете обвивки
- В Java понякога може да се наложи да използваме обекти вместо примитивни типове данни. Например, докато работите с колекции.
 В такива случаи класовете обвивки ни помагат да използваме примитивни типове данни като обекти.// error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
- Можем да съхраняваме нулевата стойност в обекти на обвивка. Например,
// generates an error int a = null; // runs perfectly Integer a = null;
Забележка : Примитивните типове са по-ефективни от съответните обекти. Следователно, когато ефективността е изискване, винаги се препоръчват примитивни типове.








