Ce este AutoBoxing și unboxing în Java?



Acest articol vă va oferi o abordare cuprinzătoare către Autoboxing în Java, împreună cu câteva exemple pentru o mai bună înțelegere.

De cele mai multe ori folosim tipuri de date primitive în timp ce scriem un program în orice limbă. Dar există situații în care tipurile de date primitive rămân scurte în domeniul și este unul dintre ei. Pentru a depăși dezavantajele tipurilor de date Primitive, folosim ambalaje . Această procedură se numește Autoboxing. Vom discuta Autoboxingul detaliat în Java prin dosarul de mai jos:

Sa incepem.





Ce este boxul și autoboxing-ul în Java?

Boxul și Autoboxingul sunt adesea folosite pentru a se referi la același concept. Dar, în realitate, nu sunt exact la fel. Să vorbim mai întâi despre conceptul de box. Ce este boxul? Se pare că păstrăm ceva într-o cutie, nu? Da, atunci când spunem că boxăm sau împachetăm un tip de date primitiv înseamnă că îl înfășurăm pentru a forma un obiect. Încă confuz? Să luăm un exemplu.

int FirstNumber = 1

Variabila „FirstNumber” este de tip int care este a . Acum, ce se întâmplă dacă vreau să convertesc variabila „FirstNumber” într-un obiect? Java oferă o modalitate de a face acest lucru.



Integer SecondNumber = nou întreg (2)

Observați că „SecondNumber” nu este de tip int, ci este un obiect de tip Integer. Acest proces de conversie a tipurilor de date primitive într-un obiect se numește box. S-ar putea să întrebați cum este posibil acest lucru? Să ne gândim care este cel mai simplu mod de a realiza această sarcină. Putem crea un clasă care conține un singur atribut de tip int, un constructor care ia o valoare de tip int și o atribuie atributului clasei noastre și câteva metode pentru a manipula această valoare int. Pentru a afla mai multe despre aceasta, consultați acest lucru document .

Am văzut cum tipul int poate fi convertit în Java. Există o modalitate de a converti alte tipuri de date primitive în obiecte? Da, Java are respectivele clasa de împachetare pentru diferite tipuri de date primitive. Le vom analiza în următoarea secțiune a acestui post.

Autoboxing

În acest moment, știm ce este boxul. Acum să înțelegem ce este Autoboxing. atunci când procesul de boxare este realizat de compilator fără a fi menționat în mod explicit, se numește autoboxing.



cum se folosesc fișiere în java

Să înțelegem acest lucru cu un exemplu:

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

După cum am discutat mai devreme acceptă numai obiecte și tipul de date primitive nu funcționează. În programul de mai sus, nu am convertit tipul în obiecte de tip Integer încă programul executat fără nicio eroare. Cum? Răspunsul la această întrebare este că compilatorul a făcut automat procesul de box înainte de a adăuga valoarea la „Mylist”, de unde și numele Autoboxing.

Mylist.add (Integer.valueOf (i))

Linia de cod de mai sus este adăugată în programul nostru de către compilator.

Notă- În linia de mai sus a clasei de cod, numele „Întreg” este menționat înainte de metoda valueOf (), deoarece valueOf () este o metodă statică. Pentru mai multe exemple, consultați documente .

Unboxing și Autounboxing

Am văzut cum de tipul primitiv de date sunt convertite în obiecte. Dar aceasta este doar jumătate din poveste. Cealaltă jumătate a poveștii este convertirea unui obiect dintr-o clasă de tip wrapper în tipul său de date primitive unboxing .

De exemplu-

Integer FirstNumber = new Integer (1) int SecondNumber = FirstNumber.intValue () System.out.println (SecondNumber)

Ieșire- 1

Autounbox- Când procesul de dezabonare realizat de compilator fără menționarea explicită se numește Autounboxing.

De exemplu-

Număr întreg = nou întreg (20) int num = Număr

Codul de mai sus este un exemplu de Autounboxing. În secțiunea următoare, vom afla despre clasele de împachetare.

Clase de împachetare

Am convertit în variabilă de tip intl obiect de tip întreg. Această clasă întreagă este o clasă wrapper. În Java, o clasă de împachetare este disponibilă pentru fiecare . Aceste clase de împachetare ne ajută să convertim o variabilă de la tipul primitiv la obiectul tip de clasă de împachetare respectiv. Metodele claselor de împachetare sunt utile în manipularea valorilor.

Tabelul de mai jos ne spune despre tipul de date primitiv și clasa sa de ambalaj respectivă.

Tip primitiv Clasa Wrapper

boolean

analizați fișierul xml în java

Boolean

pa

Octet

char

Caracter

pluti

Pluti

int

Întreg

lung

Lung

mic de statura

Mic de statura

castravete java seleniu webdriver exemplu

dubla

Dubla

Observați capitalizarea în clasele Wrapper.

Astfel am ajuns la sfârșitul acestui articol despre „Autoboxing în Java”. Dacă doriți să aflați mai multe, consultați de Edureka, o companie de învățare online de încredere. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate Java, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

Ai o întrebare pentru noi? Vă rugăm să menționați acest lucru în secțiunea de comentarii a acestui blog „autoboxing în Java” și vă vom contacta cât mai curând posibil.