Увод у класу Враппер на Јави
Класа Враппер је важна класа библиотеке јава.ланг. Објекти класе Враппер креирају омотач за примитивне типове података. Током стварања објекта класе омота, ствара се простор у меморији у којој се чува примитивни тип података.
Класа Враппер пружа неке функције за претварање објекта у примитивне податке и примитивне податке у објект, тј. Бокс / одбацивање. Претварање из објеката у примитивне податке и примитивне податке у објект одвија се аутоматски. Примитивни тип података односи се на инт, флоат, цхар, доубле, бите итд.
Синтакса:
Испод дане декларације приказује како Враппер класа функционира у јава програму.
нпр. int i = 100;
У ниже наведеном примеру можемо видети да је цео број података. Неко време у јава целом броју треба да се пренесе као врста објекта. У овом случају, можемо користити класу омотача за претварање целог броја у објект.
Integer intVal = new Integer(i);
У горе датој синтакси можемо видети како се примитивни тип података претвара у објект помоћу објекта класе Интегер. Такође се може рећи да је примитивни тип података замотан као објект.
Употреба класе Враппер на Јави
- Класа Враппер може се користити за претварање објекта у примитивни тип података или обрнуто.
- Употреба класа омотача побољшава перформансе програма.
- Класа Враппер помаже у сериализацији објекта и обрнуто, може претворити примитивне податке у објекте. Понекад требамо струјати објекте, у том случају класа омота може га претворити у формат сериализације.
- Неке важне методе обезбеђује класа омотача која се користи за обављање претраживања и сортирања у колекцијама.
- Одузимање и збрајање, ове врсте операција не могу модификовати стару вредност примитивног целог броја класе Враппер због чега је класа Враппер позната као непроменљива.
- Класа омотавања која се користи у процесу мултитхреадинга, јер је мултитхреадинг процесу потребан објект за синхронизацију процеса. Класа Враппер претвара различите типове података у објект.
На основу ЈаваАПИ, хијерархија класе Враппер држи Објецт на врху различитих примитивних класа. Број, знак и булан стиже на други ниво одмах након објекта. На трећем нивоу Бите, Схорт, Инт, Лонг, Флоат, Доубле спада под тип података број.
Класе Враппер користе следећа два механизма Аутобокинг и унбокинг за конверзију / оматање типа података или претварање објекта у примитивни тип података.
Аутоматско бокирање: Аутоматско бокирање односи се на аутоматску конверзију примитивног типа података у објект користећи Враппер класе. Познат је као Аутобокинг. У ниже датим Примерима, инт претворен у Интегер објект и у примерима ц, различити примитивни тип података се претвара у одговарајући објект.
Распакивање: Отпакирање је обрнути процес аутоматског боксирања. Аутоматско претварање објекта класе омота у одговарајући примитивни тип података познат је под називом Унбокинг. У доњем примеру б, објект Интегер се претвара у инт примитивни тип података.
Примери класе Враппер на Јави
Испод су различити примери класе Враппер на Јави.
Пример # 1
У доњем примеру ћемо видети како се врши ручна конверзија кроз класу омота из инт и у објект к.
Шифра:
import java.util.*;
class WrapperExample (
public static void main(String args())(
int j=100;
//converting int j to integer k as an object
Integer k = new Integer(j);
System.out.println(j + "\n" + k);
)
)
Излаз:
У горе датом примеру, можемо видети како се експлицитно одвија конверзија.
Пример бр. 2
У ниже наведеном примеру можемо видети да се овај процес претворбе одвија аутоматски, тј. Познат као аутобокс.
Шифра:
import java.util.*;
class AutoboxingUnboxingExample (
public static void main(String args())(
int j = 500;
ArrayList arrValues = new ArrayList();
arrValues.add(j); // autoboxing takes place implicitly
System.out.println(arrValues.get(0));
)
)
Излаз:
У горе датом примеру, инт вредност претворена у објект имплицитно као објект. Надаље, ова вриједност може се добити из АрраиЛист-а.
Пример бр. 3
У овом примеру ћемо проћи кроз имплементацију Унбокинга. Отпакирање бокса је обрнут поступак аутоматског боксирања.
Шифра:
import java.util.*;
class AutoboxingUnboxingExample (
public static void main(String args())(
ArrayList arrValues = new ArrayList();
arrValues.add(250);
//unboxing here as int data type from Integer object
int k = arrValues.get(0);
//value printed is in primitive data type
System.out.println(k);
)
)
Излаз:
У горе датом примеру, поље објекта АрраиЛист се претвара у к примитивни тип података, тј. Инт к.
Пример бр. 4
Следећи дати пример садржи све детаље аутоматског боксирања и отпакирања.
Шифра:
import java.util.*;
class WrapperConversionExample (
public static void main(String args())(
int i = 15;
float j = 9.6f;
double k = 120.8;
byte l = 1;
//creating instance of Integer object
Integer iObj = new Integer(i);
//creating instance of Float object
Float fObj = new Float(j);
//creating instance of Double object
Double dObj = new Double(k);
//creating instance of Double object
Byte bObj = new Byte(l);
//value printed is in object
System.out.println("Value as an Integer object > " + iObj);
System.out.println("Value as a Float object > " + fObj);
System.out.println("Value as a Double object > " + dObj);
System.out.println("Value as a Byte object > " + bObj);
//primitive data type from the object
int m = iObj;
float n = fObj;
double o = dObj;
byte p = bObj;
//value printed is in primitive data type
System.out.println("Value as an int primitive type > " + m);
System.out.println("Value as a float primitive type > " + n);
System.out.println("Value as a double primitive type > "+ o);
System.out.println("Value as a byte primitive type > " + p);
)
)
Излаз:
У горе наведеном програму можемо видети имплементацију Враппер класа. Класе омотача претварају примитивни тип података у објект и објект у примитивни тип података. Класа омота даје посебне класе за сваки примитивни тип података.
Закључак
Кроз класе Враппер лако можемо разумети аутобокинг и унбокинг. Како се конверзија одвија од примитивног до објекта и обрнуто, што се може лако разумети кроз Враппер класе. За сваки од примитивних типова података постоји посебна класа јаве.
Препоручени чланак
Ово је водич за Враппер класу на Јави. Овде смо расправљали о синтакси и употреби класе омота у Јави, заједно са различитим примерима и имплементацијом кода. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -
- Како изгледа изјава случаја на Јави?
- Шта је генерика у Јави?
- Концепт сериализације у Јави
- Јава Топ 8 питања за интервју
- Јава Деплоимент Тоолс
- Примери и како генеричари раде у Ц #