Шта је АутоБокинг и унбокинг у Јави?



Овај чланак ће вам пружити свеобухватан приступ аутоматском боксу у Јави, заједно са неколико примера за боље разумевање.

Најчешће користимо примитивне типове података док пишемо програм на било ком језику. Али постоје ситуације у којима примитивни типови података недостају у домену и је један од њих. Користимо да бисмо превазишли недостатке примитивних типова података омотачи . Овај поступак се назива Аутобокинг. О детаљном аутоматском боксу у Јави разговараћемо кроз доњи документ:

Почнимо.





Шта је бокс и аутоматско боксање на Јави?

Бокс и аутобокс се често користе за означавање истог појма. Али у стварности нису потпуно исти. Прво разговарајмо о концепту бокса. Шта је бокс? Звучи као да нешто држимо у кутији, зар не? Да, када кажемо да боксујемо или умотавамо примитивни тип података, то значи да га умотавамо у облик објекта. Још увек збуњени? Узмимо пример.

инт ФирстНумбер = 1

Променљива „ФирстНумбер“ је типа инт која је а . Сада, шта ако желим да претворим променљиву „ФирстНумбер“ у објекат? Јава пружа начин за то.



Интегер СецондНумбер = нови Интегер (2)

Приметите да „СецондНумбер“ није типа инт, већ је објекат типа Интегер. Овај процес претварања примитивних типова података у објекат назива се бокс. Можете се запитати како је то могуће? Размислимо о томе који је најједноставнији начин постизања овог задатка. Можемо створити класа садржи један атрибут типа инт, конструктор који узима вредност типа инт и додељује га нашем атрибуту класе и неке методе за манипулисање овом инт вредношћу. Да бисте сазнали више о томе, погледајте ово документ .

Видели смо како се инт тип може претворити у Јаву. Постоји ли начин претварања других примитивних типова података у објекте? Да, Јава има одговарајуће класа омотача за различите примитивне типове података. Истражићемо их у следећем одељку овог поста.

Аутобокинг

У овом тренутку знамо шта је бокс. Сада да схватимо шта је Аутобокинг. када процес бокса врши компајлер без изричитог помињања, назива се аутоматским боксом.



Да разумемо ово на примеру:

импорт јава.утил.АрраиЛист импорт јава.утил.Листцласс Бок {публиц статиц воид маин (Стринг [] аргс) {Лист Милист = нев АрраиЛист () фор (инт и = 0 и<10 i++) Mylist.add(i) } }

Као што смо раније разговарали прихвата само објекте и примитивни тип података не ради. У горњем програму нисмо претворили тип у објекте типа Интегер и даље програм извршава без грешке. Како? Одговор на ово питање је да је компајлер аутоматски извршио боксерски поступак пре него што је вредност додао на „Милист“, па отуда и име Аутобокинг.

пхп како исписати низ
Милист.адд (Интегер.валуеОф (и))

Горњи ред кода додаје у наш програм компајлер.

Белешка- У горњем реду класе кода име’Интегер ’је поменуто пре методе валуеОф () јер је валуеОф () статична метода. За више примера погледајте доцс .

Распакивање и аутоматско кутирање

Видели смо како примитивног типа података претварају се у објекте. Али ово је само половина приче. Друга половина приче је претварање објекта класе омотача типа у његов примитивни тип података распакивање .

На пример-

Интегер ФирстНумбер = нови Интегер (1) инт СецондНумбер = ФирстНумбер.интВалуе () Систем.оут.принтлн (СецондНумбер)

Оутпут- 1

Аутоунбокинг- Када се поступак распаковања који је извршио компајлер без изричитог помена назива Аутоунбокинг.

На пример-

Цео број = нови цели број (20) инт број = број

Горњи код је пример аутоматског боксовања. У следећем одељку ћемо научити о часовима омотача.

Класе омотача

Претворили смо у променљиву типа инт објект типа Интегер. Ова целобројна класа је класа омотача. У Јави је класа омотача доступна за сваку . Ове класе омотача помажу нам у претварању променљиве из примитивног типа у одговарајући објекат класе омотача. Методе класа омотача су корисне у манипулисању вредностима.

Табела у наставку говори нам о примитивном типу података и одговарајућој класи омотача.

Примитивни тип Класа омотача

боолеан

Боолеан

здраво

Бајт

цхар

Карактер

пловак

Пловак

инт

Цео број

дуго

Дуго

како инсталирати цхеф сервер

кратак

Кратак

двоструко

Доубле

Приметите употребу великих слова у разредима Враппер.

Тако смо дошли до краја овог чланка о „Аутоматском боксу у Јави“. Ако желите да сазнате више, погледајте Едурека, поуздана компанија за учење на мрежи. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА осмишљен је тако да вас оспособи за основне и напредне Јава концепте заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га помињете у одељку за коментаре овог блога „аутобоксање на Јави“ и јавићемо вам се што је пре могуће.