Razred ovojev na Javi - Autoboxing, Unboxing in Conversion

Kazalo:

Anonim

Uvod v Wrapper Class na Javi

Razred Wrapper je pomemben razred knjižnice java.lang. Predmeti razreda Wrapper ustvarijo ovoj za primitivne vrste podatkov. Med ustvarjanjem predmeta razreda ovojev se v pomnilniku ustvari prostor, v katerem je shranjena primitivna vrsta podatkov.

Razred Wrapper ponuja nekatere funkcije za pretvorbo predmeta v primitivne podatke in primitivne podatke v objekt, tj. Boks / odpakiranje. Pretvorba iz predmetov v primitivne podatke in primitivne podatke v objekt se izvede samodejno. Primitivni tip podatkov se nanaša na int, float, char, double, byte itd.

Sintaksa:

Spodaj navedena izjava prikazuje, kako deluje razred Wrapper v programu java.

npr. int i = 100;

V spodnjem primeru lahko vidimo i je celoten tip podatkov. Nekaj ​​časa v številu java je treba prenesti kot vrsto predmeta. V tem primeru lahko s pomočjo ovoja pretvorimo celo število v objekt.

Integer intVal = new Integer(i);

V zgornji sintaksi lahko vidimo, kako se primitivni podatkovni tip pretvori v objekt s pomočjo predmeta razreda Integer. Prav tako lahko rečemo, da je primitivni tip podatkov zavit kot predmet.

Uporaba razreda Wrapper na Javi

  1. Razred Wrapper lahko uporabite za pretvorbo predmeta v primitivni tip podatkov ali obratno.
  2. Uporaba razredov ovoja izboljša delovanje programa.
  3. Wrapper razred pomaga pri serializaciji predmeta in obratno, lahko pretvori primitivne podatke v predmete. Včasih moramo pretakati predmete, v tem primeru ga lahko ovojni pretvornik pretvori v obliko serializacije.
  4. Nekaj ​​pomembnih metod ponuja razred ovoja, ki se uporablja za iskanje in razvrščanje v zbirkah.
  5. Odštevanje in seštevanje teh vrst operacij ne more spremeniti stare vrednosti primitivnega števila razreda Wrapper, zato je razred Wrapper znan kot nespremenljiv.
  6. Razred ovitkov, ki se uporablja v večserijskem postopku, saj postopek večberečenja potrebuje objekt za sinhronizacijo procesov. Razred Wrapper pretvori različne podatke v objekt.

Na podlagi JavaAPI hierarhija razreda Wrapper ohranja Object na vrhu različnih primitivnih razredov. Število, znak in logična različica prihaja na drugo raven tik za objektom. Na tretji ravni Bajt, Kratek, Int, Dolg, Float, Double spada pod vrsto podatkov Število.

Razredi zavijanja uporabljajo naslednja dva mehanizma Autoboxing & unboxing za pretvorbo / ovijanje podatkovne vrste ali pretvorbo predmeta v primitivni tip podatkov.

Autoboxing: Autoboxing se nanaša na samodejno pretvorbo primitivnega tipa podatkov v objekt z uporabo razredov Wrapper. Znano je kot Autoboxing. V spodnjih primerih, int, pretvorjen v objekt Integer & v primerih c, se v ustrezen objekt pretvori različna primitivna vrsta podatkov.

Odpakiranje: Odpakiranje je obratni postopek samodejnega shranjevanja. Samodejno pretvarjanje predmeta razreda ovojev v ustrezen primitivni tip podatkov je znan kot Unboxing. V spodnjem primeru b je objekt Integer pretvorjen v int primitivni tip podatkov.

Primeri razreda Wrapper v Javi

Spodaj so različni primeri razreda Wrapper na Javi.

Primer # 1

V spodnjem primeru lahko vidimo, kako poteka ročna pretvorba skozi ovojni razred iz int i v objekt k.

Koda:

import java.util.*;
class WrapperExample (
public static void main(String args())(
int j=100;
//converting int j to integer k as an object
Integer k = new Integer(j);
System.out.println(j + "\n" + k);
)
)

Izhod:

V zgornjem primeru lahko vidimo, kako pretvorba poteka izrecno.

Primer # 2

V spodnjem primeru lahko vidimo, da se ta postopek pretvorbe včasih izvede samodejno, tj. Samodejno boksanje.

Koda:

import java.util.*;
class AutoboxingUnboxingExample (
public static void main(String args())(
int j = 500;
ArrayList arrValues = new ArrayList();
arrValues.add(j); // autoboxing takes place implicitly
System.out.println(arrValues.get(0));
)
)

Izhod:

V zgornjem primeru je int vrednost, pretvorjena v objekt implicitno kot objekt. Poleg tega lahko to vrednost dobite pri ArrayList.

Primer # 3

V tem primeru bomo šli skozi izvajanje Unboxinga. Odpakiranje je povratni postopek samodejnega shranjevanja.

Koda:

import java.util.*;
class AutoboxingUnboxingExample (
public static void main(String args())(
ArrayList arrValues = new ArrayList();
arrValues.add(250);
//unboxing here as int data type from Integer object
int k = arrValues.get(0);
//value printed is in primitive data type
System.out.println(k);
)
)

Izhod:

V zgornjem primeru je objektno polje ArrayList pretvorjeno v k primitivni tip podatkov, tj. Int k.

Primer št. 4

Naslednji primer vsebuje vse podrobnosti o samodejnem pošiljanju in razpakiranju.

Koda:

import java.util.*;
class WrapperConversionExample (
public static void main(String args())(
int i = 15;
float j = 9.6f;
double k = 120.8;
byte l = 1;
//creating instance of Integer object
Integer iObj = new Integer(i);
//creating instance of Float object
Float fObj = new Float(j);
//creating instance of Double object
Double dObj = new Double(k);
//creating instance of Double object
Byte bObj = new Byte(l);
//value printed is in object
System.out.println("Value as an Integer object > " + iObj);
System.out.println("Value as a Float object > " + fObj);
System.out.println("Value as a Double object > " + dObj);
System.out.println("Value as a Byte object > " + bObj);
//primitive data type from the object
int m = iObj;
float n = fObj;
double o = dObj;
byte p = bObj;
//value printed is in primitive data type
System.out.println("Value as an int primitive type > " + m);
System.out.println("Value as a float primitive type > " + n);
System.out.println("Value as a double primitive type > "+ o);
System.out.println("Value as a byte primitive type > " + p);
)
)

Izhod:

V zgornjem programu lahko vidimo izvajanje razredov Wrapper. Wrapper razredi pretvorijo primitivni tip podatkov v objekt & objekt v primitivni tip podatkov. Ovojni razred zagotavlja ločene razrede za vsako primitivno vrsto podatkov.

Zaključek

Skozi razrede Wrapper zlahka razumemo avtoboxing in unboxing. Kako poteka pretvorba iz primitivnega v objekt in obratno, kar je mogoče preprosto razumeti v razredih Wrapper. Za vsako od primitivnih podatkovnih vrst obstaja poseben razred java.

Priporočeni članek

To je vodnik za Wrapper Class v Javi. Tukaj razpravljamo o sintaksi in uporabi razreda ovojnice v Javi, skupaj z različnimi primeri in implementacijo kode. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Kako izgleda izjava o zadevi na Javi?
  2. Kaj je generika v Javi?
  3. Koncept serializacije na Javi
  4. Java Top 8 Intervju Vprašanja
  5. Java Tools Deployment Tools
  6. Primeri in delovanje generike v C #