Mitä JavaBoxissa on automaattinen boxing ja pakkauksen poistaminen?



Tämä artikkeli antaa sinulle kattavan lähestymistavan Javan Autoboxingiin sekä joitain esimerkkejä ymmärryksen parantamiseksi.

Useimmiten käytämme primitiivisiä tietotyyppejä kirjoittaessamme ohjelmaa millä tahansa kielellä. Mutta on tilanteita, joissa primitiiviset tietotyypit jäävät alle ja on yksi heistä. Primitiivisten tietotyyppien haittojen poistamiseksi käytämme kääreitä . Tätä menettelyä kutsutaan automaattirekisteröinniksi. Keskustelemme yksityiskohtaisesta Java-automaattirekisteröinnistä alla olevan pistorasian kautta:

Aloitetaanpa.





Mitä nyrkkeily ja automaattinen nyrkkeily Java-ohjelmassa ovat?

Nyrkkeilyä ja autoboxia käytetään usein viittaamaan samaan käsitteeseen. Mutta todellisuudessa ne eivät ole aivan samoja. Puhutaan ensin nyrkkeilyn käsitteestä. Mikä on nyrkkeily? Kuulostaa siltä, ​​että pidämme jotain laatikossa? Kyllä, kun sanomme nyrkkeilevän tai käärimän primitiivistä tietotyyppiä, se tarkoittaa, että käärimme sen objektin muodostamiseksi. Vieläkin hämmentynyt? Otetaan esimerkki.

int FirstNumber = 1

Muuttuja ”FirstNumber” on tyyppiä int, joka on a . Entä jos haluan muuntaa muuttujan FirstNumber kohteeksi? Java tarjoaa tavan tehdä se.



Kokonaisluku SecondNumber = uusi kokonaisluku (2)

Huomaa, että ’SecondNumber’ ei ole int-tyyppiä, mutta se on tyyppi Integer. Tätä prosessia primitiivisten tietotyyppien muuntamiseksi objektiksi kutsutaan nyrkkeilyksi. Voisit kysyä, miten tämä on mahdollista? Mietitään, mikä on yksinkertaisin tapa suorittaa tämä tehtävä. Voimme luoda luokassa sisältää yhden int-tyypin attribuutin, konstruktorin, joka ottaa int-tyypin arvon ja osoittaa sen luokka-attribuutillemme, sekä joitain menetelmiä tämän int-arvon manipuloimiseksi. Jos haluat lisätietoja siitä, katso tämä asiakirja .

Näimme kuinka int -tyyppi voidaan muuntaa Javaiksi. Onko mahdollista muuntaa muut primitiiviset tietotyypit esineiksi? Kyllä, Java on vastaava kääre luokka erilaisille primitiivisille tietotyypeille. Tarkastelemme niitä tämän viestin seuraavassa osassa.

Autoboxing

Tässä vaiheessa tiedämme, mitä nyrkkeily on. Ymmärretään nyt, mikä on automaattirekisteröinti. Kun kääntäjä suorittaa nyrkkeilyn ilman nimenomaista mainintaa, sitä kutsutaan autoboksiksi.



Ymmärretään tämä esimerkillä:

mitä rmi on java

tuo java.util.ArrayList tuo java.util.Listclass Box {public static void main (String [] args) {List Mylist = new ArrayList () for (int i = 0 i)<10 i++) Mylist.add(i) } }

Kuten keskustelimme aiemmin hyväksyy vain objektit ja primitiiviset tietotyypit eivät toimi. Edellä mainitussa ohjelmassa emme muuttaneet tyyppiä kokonaislukutyyppisiksi objekteiksi, jotka ohjelma silti suorittaa ilman virheitä. Miten? Vastaus tähän kysymykseen on, että kääntäjä suoritti automaattisesti nyrkkeilyprosessin ennen arvon lisäämistä ”Mylistiin”, joten nimi Autoboxing.

Mylist.add (KokonaisarvoOf (i))

Kääntäjä lisää yllä olevan koodirivin ohjelmaamme.

Huomautus- Yllä olevalla koodiluokan rivillä on mainittu ”Integer” ennen menetelmää valueOf (), koska valueOf () on staattinen menetelmä. Lisää esimerkkejä on asiakirjat .

Pakkauksen poisto ja automaattinen laatikko

Näimme kuinka primitiivisestä tietotyypistä muunnetaan esineiksi. Mutta tämä on vain puolet tarinasta. Tarinan toinen puoli muuntaa tyypin kääre-luokan objektin sen primitiiviseksi tietotyypiksi pakkauksen avaaminen .

Esimerkiksi-

Kokonaisluku FirstNumber = uusi kokonaisluku (1) int SecondNumber = EnsimmäinenLuku.intValue () System.out.println (SecondNumber)

Tuotos - 1

Automaattinen nyrkkeily Kun kääntäjän suorittamaa purkamisen purkamisprosessia nimenomaisesti mainitsematta, sitä kutsutaan Autounboxingiksi.

Esimerkiksi-

Kokonaisluku = uusi kokonaisluku (20) int numero = luku

Yllä oleva koodi on esimerkki Autounboxingista. Seuraavassa osassa kerromme käärintäluokista.

Käärintäluokat

Muunnimme tyypin muuttuja intl Kokonais tyyppi objektiksi. Tämä kokonaisluku on kääreluokka. Java-ohjelmassa kullekin on käytettävissä kääre-luokka . Nämä käärintäluokat auttavat meitä muuttamaan muuttujan primitiivisestä tyypistä vastaavaksi käärintäluokan tyypin objektiksi. Käärintäluokkien menetelmät ovat hyödyllisiä arvojen käsittelyssä.

Alla olevassa taulukossa kerrotaan primitiivisestä tietotyypistä ja sen vastaavasta kääreluokasta.

Primitiivinen tyyppi Käärintäluokka

looginen

Boolen

Hei hei

Tavu

hiiltyä

Merkki

kellua

Kellua

int

c ++ stl haastattelukysymykset

Kokonaisluku

pitkä

Pitkä

lyhyt

Lyhyt

kaksinkertainen

Kaksinkertainen

Huomaa Wrapper-luokkien isot kirjaimet.

Siksi olemme päässeet tämän artikkelin 'Autoboxing in Java' -kohtaan. Jos haluat oppia lisää, tutustu Edureka, luotettava verkko-oppimisyritys. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssit on suunniteltu kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia ​​Java-kehyksiä, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän blogin 'autoboxing in Java' kommenttiosassa, niin otamme sinuun yhteyttä mahdollisimman pian.