Què és AutoBoxing i Unboxing a Java?



Aquest article us proporcionarà un enfocament complet cap a Autoboxing a Java juntament amb alguns exemples per a una millor comprensió.

La majoria de les vegades fem servir tipus de dades primitius mentre escrivim un programa en qualsevol idioma. Però hi ha situacions en què els tipus de dades primitius es queden curts en l’àmbit de i n’és un. Per superar els inconvenients dels tipus de dades primitius, fem servir embolcalls . Aquest procediment s’anomena Autoboxing. Discutirem el Autoboxing detallat a Java mitjançant el dossier següent:

Anem a començar.





Què és la boxa i l'autoboxing a Java?

La boxa i l’autoboxing s’utilitzen sovint per referir-se al mateix concepte. Però, en realitat, no són exactament iguals. Parlem primer del concepte de boxa. Què és la boxa? Sembla que estem guardant alguna cosa dins d’una caixa, oi? Sí, quan diem que estem boxant o embolicant un tipus de dades primitiu vol dir que l'estem embolicant per formar un objecte. Encara confós? Posem un exemple.

int FirstNumber = 1

La variable 'FirstNumber' és del tipus int que és a . Ara, què passa si vull convertir la variable 'FirstNumber' en un objecte? Java proporciona una manera de fer-ho.



Número enter segon = nou enter (2)

Fixeu-vos que 'SecondNumber' no és del tipus int, sinó que és un objecte del tipus Integer. Aquest procés de conversió de tipus de dades primitives en un objecte s’anomena boxa. Us podeu preguntar com és possible això? Pensem quina és la manera més senzilla d’aconseguir aquesta tasca. Podem crear un fitxer classe que conté un únic atribut de tipus int, un constructor que pren un valor de tipus int i l’assigna al nostre atribut de classe i alguns mètodes per manipular aquest valor int. Per obtenir-ne més informació, consulteu això document .

Vam veure com es pot convertir el tipus int a Java. Hi ha alguna manera de convertir altres tipus de dades primitives en objectes? Sí, Java té respectius classe d’embolcall per a diferents tipus de dades primitives. Els analitzarem a la següent secció d’aquest post.

Autoboxing

En aquest moment, ja sabem què és la boxa. Ara entenem què és Autoboxing. quan el compilador realitza el procés de boxa sense esmentar explícitament, s’anomena autoboxing.



diferència entre xml i html

Entenguem això amb un exemple:

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) } }

Com hem comentat anteriorment només accepta objectes i el tipus de dades primitiu no funciona. Al programa anterior, no hem convertit els objectes de tipus a tipus enter encara que el programa executa sense cap error. Com? La resposta a aquesta pregunta és que el compilador va fer el procés de boxa automàticament abans d’afegir el valor a ‘Mylist’, d’aquí el nom d’Autoboxing.

Mylist.add (Integer.valueOf (i))

El compilador afegeix la línia de codi anterior al nostre programa.

Nota- A la línia de codi anterior, s’esmenta el nom de classe ‘Enter’ abans del mètode valueOf () ja que valueOf () és un mètode estàtic. Per obtenir més exemples, consulteu el fitxer documents .

Unboxing i Autounboxing

Vam veure com del tipus de dades primitiu es converteixen en objectes. Però això és només la meitat de la història. L'altra meitat de la història converteix un objecte d'una classe d'embolcall de tipus al seu primitiu tipus de dades unboxing .

Per exemple-

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

Sortida- 1

Autounboxing- Quan el procés de desempaquetatge realitzat pel compilador sense esmentar explícitament s’anomena caixa automàtica.

Per exemple-

Número enter = nou enter (20) int num = Nombre

El codi anterior és un exemple de caixa automàtica. A la secció següent, coneixerem les classes d’embolcall.

Classes d'embolcall

Hem convertit en tipus variable intl Objecte tipus enter. Aquesta classe sencera és una classe wrapper. A Java, hi ha disponible una classe d'embolcall per a cadascun . Aquestes classes d'embolcall ens ajuden a convertir una variable de tipus primitiu a objecte de tipus d'embolcall respectiu. Els mètodes de classes d'embolcall són útils per manipular els valors.

La taula següent ens explica el tipus de dades primitiu i la seva respectiva classe d’embolcall.

Tipus primitiu Classe Wrapper

booleà

ssis tutorial per a principiants 2012 amb exemples

Booleà

adéu

Byte

char

Personatge

flotar

Flotador

int

Enter

llarg

Llarg

curt

Curt

com aprendre pl sql

doble

Doble

Fixeu-vos en majúscules a les classes Wrapper.

Així hem arribat al final d’aquest article sobre ‘Autoboxing a Java’. Si voleu obtenir més informació, consulteu el per Edureka, una empresa d’aprenentatge en línia de confiança. El curs de formació i certificació Java J2EE i SOA d’Edureka està dissenyat per formar-vos tant per a conceptes bàsics com avançats de Java, juntament amb diversos marcs Java com Hibernate & Spring

Tens alguna pregunta? Si us plau, mencioneu-ho a la secció de comentaris d’aquest bloc “autoboxing a Java” i us respondrem el més aviat possible.