Ce este Autoboxing în Java? Cu Exemple

Publicat: 2023-01-28

În lumea contemporană, Java este alegerea renumită pentru scriptarea aplicațiilor Android. De asemenea, găsește o cerere extinsă în mediul de învățare automată, aplicațiile cloud și tehnologia IOT. Dezvoltatorii trebuie să aibă o înțelegere aprofundată a tendințelor recente în programarea Java. O perspectivă profesională profitabilă este asigurată pentru dezvoltatorii Java, deoarece limbajul are o prezență fermă în întreprindere. Java nu este doar un limbaj de frunte orientat pe obiecte pe piața aplicațiilor mobile Android, ci și în domeniul pieței backend.

Cuprins

Elementele de bază ale autoboxingului în Java:

În timpul scriptării unui program, tipurile de date primitive sunt utilizate în majoritatea limbajelor de programare. Cu toate acestea, în limbajele de programare orientate pe obiecte, cum ar fi Java, tipurile de date primitive nu sunt eficiente în unele scenarii și sunt insuficiente în domeniu. Pentru a depăși limitările tipurilor de date primitive, se folosesc wrapper-uri. Acest fenomen se numește autoboxing. Să discutăm mai multe despre autoboxing în Java în secțiunile următoare.

Consultați cursurile noastre gratuite de tehnologie pentru a obține un avantaj față de concurență.

Explorați cursurile noastre populare de inginerie software

Master în Informatică de la LJMU și IIITB Programul de certificat de securitate cibernetică Caltech CTME
Bootcamp pentru dezvoltare completă Programul PG în Blockchain
Program Executive PG în Full Stack Development
Vezi mai jos toate cursurile noastre
Cursuri de Inginerie Software

Autoboxing și Autounboxing:

Autoboxing este procesul de conversie a unei valori primitive într-un obiect al clasei wrapper. De exemplu, un tip de date int este convertit într-o clasă întreagă. Funcția de autoboxing este realizată de un compilator Java dacă valoarea primitivă este:

  • Atribuit unei variabile a clasei de wrapper respective.
  • Transmis ca argument unei metode care folosește un obiect din clasa wrapper respectivă.

Autoboxing este o reversare a funcției de autoboxing. Conversia unui obiect de tip wrapper la valoarea sa primitivă respectivă este denumită unboxing. Să luăm în considerare un exemplu de obiect Integer convertit într-un tip de date int. Compilatorul Java efectuează unboxing atunci când un obiect de clasă wrapper este:

  • Alocată o variabilă de tipul primitiv respectiv.
  • Transmis ca argument unei metode care necesită valoarea tipului primitiv corespunzător.

Învață cursuri de dezvoltare software online de la cele mai bune universități din lume. Câștigați programe Executive PG, programe avansate de certificat sau programe de master pentru a vă accelera cariera.

Abilități de dezvoltare software la cerere

Cursuri JavaScript Cursuri de bază Java Cursuri de Structuri de Date
Cursuri Node.js Cursuri SQL Cursuri de dezvoltare full stack
Cursuri NFT Cursuri DevOps Cursuri de Big Data
Cursuri React.js Cursuri de securitate cibernetică Cursuri de cloud computing
Cursuri de proiectare baze de date Cursuri Python Cursuri de criptomonede

Autoboxing în detaliu:

Termenii box și autoboxing sunt folosiți alternativ în multe cazuri pentru a descrie același concept. Cu toate acestea, există o diferență subtilă între cei doi termeni. Termenul „box” se referă la împachetarea unui tip de date primitiv pentru a forma un obiect. Să luăm în considerare un exemplu pentru a înțelege acest concept. Luați în considerare declarația de cod Java scrisă mai jos.

int FirstNumber = 1;

În această declarație, variabila „FirstNumber” este de tipul de date int care este primitivă. Poate fi convertit într-un obiect folosind instrucțiunea de mai jos.

Integer SecondNumber = nou Integer(2);

Variabila SecondNumber din instrucțiunea de mai sus nu este de tipul de date int primitiv. În schimb, este un obiect Integer. Acest proces de conversie a tipurilor primitive de date într-un obiect se numește boxing. Cel mai simplu mod de a efectua această sarcină este prin dezvoltarea unei clase care conține un singur atribut de tip de date int. Un constructor de valoare de tip int este atribuit atributului de clasă. Sunt folosite mai multe metode pentru a manipula valoarea int. Clasele wrapper din Java pot fi folosite pentru a permite conversia altor tipuri de date într-un obiect.

Autoboxing este funcția efectuată automat de compilator fără a o menționa în mod explicit.

MyList.add(Integer.valueOf(i));

Aceasta este linia adăugată de compilator în programul nostru.

În instrucțiunea de cod de mai sus, numele clasei „Integer” este specificat înainte de a menționa metoda valueOf() deoarece valueOf() este o metodă statică.

Citiți articolele noastre populare legate de dezvoltarea software

Cum se implementează abstracția datelor în Java? Ce este Inner Class în Java? Identificatori Java: definiție, sintaxă și exemple
Înțelegerea încapsulării în OOPS cu exemple Argumentele liniei de comandă în C explicate Top 10 caracteristici și caracteristici ale cloud computing-ului în 2022
Polimorfismul în Java: concepte, tipuri, caracteristici și exemple Pachete în Java și cum să le folosiți? Tutorial Git pentru începători: Învață Git de la zero

Ce este unboxing în Java?

Acum că am înțeles procesul de conversie a tipurilor de date primitive în obiecte, să ne uităm la procesul care face funcția inversă a boxului. Unboxing, așa cum am menționat mai devreme, se referă la procesul de conversie a unui obiect de tip clasă wrapper în tipurile sale de date primitive.

Când procesul de unboxing este efectuat automat de compilator fără a-l menționa în mod explicit în program, acesta este denumit Auto unboxing. Să luăm în considerare exemplul prezentat mai jos pentru a înțelege despachetarea automată.

Mai multe despre clasele Wrapper:

În exemplul pentru autoboxing, variabila I este de tip de date int, iar obiectul Integer este o clasă wrapper. Clasa wrapper în Java este disponibilă pentru toate tipurile de date primitive. Aceste clase permit utilizatorului conversia unei variabile de la tipul de date primitiv la obiectul corespunzător de tipul clasei wrapper. Metodele clasei wrapper sunt utilizate în manipularea valorilor. Tipurile de date primitive și clasele lor de pachete respective sunt rezumate în tabelul de mai jos. Rețineți că numele claselor wrapper începe cu o literă mare.

Tip de date primitive

Clasa de ambalare corespunzătoare

octet octet
boolean boolean
char Caracter
int Întreg
pluti Pluti
Mic de statura Mic de statura
Lung Lung
dubla Dubla

Meritele Autoboxing și auto unboxing în Java:

  • Procesul de autoboxing și unboxing permite programatorilor să scrie un cod bine structurat și ușor de citit.
  • Procesul le permite utilizatorilor să comute alternativ între tipurile de date primitive și obiectele clasei wrapper. Prin urmare, tipărirea explicită nu este necesară.

Dacă sunteți interesat să aflați mai multe despre Java, dezvoltarea de software full-stack, consultați programul Executive PG în dezvoltare software de la upGrad și IIIT-B – Specializare în dezvoltare full-stack, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă. , peste 9 proiecte și sarcini, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Vrei să distribui acest articol?

Pregătiți-vă pentru o carieră a viitorului

Aplicați acum pentru masterat în inginerie software