Најчешће користимо примитивне типове података док пишемо програм на било ком језику. Али постоје ситуације у којима примитивни типови података недостају у домену и је један од њих. Користимо да бисмо превазишли недостатке примитивних типова података омотачи . Овај поступак се назива Аутобокинг. О детаљном аутоматском боксу у Јави разговараћемо кроз доњи документ:
Почнимо.
Шта је бокс и аутоматско боксање на Јави?
Бокс и аутобокс се често користе за означавање истог појма. Али у стварности нису потпуно исти. Прво разговарајмо о концепту бокса. Шта је бокс? Звучи као да нешто држимо у кутији, зар не? Да, када кажемо да боксујемо или умотавамо примитивни тип података, то значи да га умотавамо у облик објекта. Још увек збуњени? Узмимо пример.
инт ФирстНумбер = 1
Променљива „ФирстНумбер“ је типа инт која је а . Сада, шта ако желим да претворим променљиву „ФирстНумбер“ у објекат? Јава пружа начин за то.
Интегер СецондНумбер = нови Интегер (2)
Приметите да „СецондНумбер“ није типа инт, већ је објекат типа Интегер. Овај процес претварања примитивних типова података у објекат назива се бокс. Можете се запитати како је то могуће? Размислимо о томе који је најједноставнији начин постизања овог задатка. Можемо створити класа садржи један атрибут типа инт, конструктор који узима вредност типа инт и додељује га нашем атрибуту класе и неке методе за манипулисање овом инт вредношћу. Да бисте сазнали више о томе, погледајте ово документ .
Видели смо како се инт тип може претворити у Јаву. Постоји ли начин претварања других примитивних типова података у објекте? Да, Јава има одговарајуће класа омотача за различите примитивне типове података. Истражићемо их у следећем одељку овог поста.
Аутобокинг
У овом тренутку знамо шта је бокс. Сада да схватимо шта је Аутобокинг. када процес бокса врши компајлер без изричитог помињања, назива се аутоматским боксом.
Да разумемо ово на примеру:
импорт јава.утил.АрраиЛист импорт јава.утил.Листцласс Бок {публиц статиц воид маин (Стринг [] аргс) {Лист Милист = нев АрраиЛист () фор (инт и = 0 и<10 i++) Mylist.add(i) } }
Као што смо раније разговарали прихвата само објекте и примитивни тип података не ради. У горњем програму нисмо претворили тип у објекте типа Интегер и даље програм извршава без грешке. Како? Одговор на ово питање је да је компајлер аутоматски извршио боксерски поступак пре него што је вредност додао на „Милист“, па отуда и име Аутобокинг.
пхп како исписати низ
Милист.адд (Интегер.валуеОф (и))
Горњи ред кода додаје у наш програм компајлер.
Белешка- У горњем реду класе кода име’Интегер ’је поменуто пре методе валуеОф () јер је валуеОф () статична метода. За више примера погледајте доцс .
Распакивање и аутоматско кутирање
Видели смо како примитивног типа података претварају се у објекте. Али ово је само половина приче. Друга половина приче је претварање објекта класе омотача типа у његов примитивни тип података распакивање .
На пример-
Интегер ФирстНумбер = нови Интегер (1) инт СецондНумбер = ФирстНумбер.интВалуе () Систем.оут.принтлн (СецондНумбер)
Оутпут- 1
Аутоунбокинг- Када се поступак распаковања који је извршио компајлер без изричитог помена назива Аутоунбокинг.
На пример-
Цео број = нови цели број (20) инт број = број
Горњи код је пример аутоматског боксовања. У следећем одељку ћемо научити о часовима омотача.
Класе омотача
Претворили смо у променљиву типа инт објект типа Интегер. Ова целобројна класа је класа омотача. У Јави је класа омотача доступна за сваку . Ове класе омотача помажу нам у претварању променљиве из примитивног типа у одговарајући објекат класе омотача. Методе класа омотача су корисне у манипулисању вредностима.
Табела у наставку говори нам о примитивном типу података и одговарајућој класи омотача.
Примитивни тип | Класа омотача |
боолеан | Боолеан |
здраво | Бајт |
цхар | Карактер |
пловак | Пловак |
инт | Цео број |
дуго | Дуго како инсталирати цхеф сервер |
кратак | Кратак |
двоструко | Доубле |
Приметите употребу великих слова у разредима Враппер.
Тако смо дошли до краја овог чланка о „Аутоматском боксу у Јави“. Ако желите да сазнате више, погледајте Едурека, поуздана компанија за учење на мрежи. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА осмишљен је тако да вас оспособи за основне и напредне Јава концепте заједно са разним Јава оквирима попут Хибернате & Спринг.
Имате питање за нас? Молимо вас да га помињете у одељку за коментаре овог блога „аутобоксање на Јави“ и јавићемо вам се што је пре могуће.