Csomagoló osztály Java - Autobox, Unboxing és Conversion

Tartalomjegyzék:

Anonim

Bevezetés a Java csomagoló osztályba

A Wrapper Class a java.lang könyvtár fontos osztálya. A Wrapper osztályobjektumok létrehoznak egy csomagolást a primitív adattípusokhoz. A burkolóosztály objektumának létrehozásakor a memória tárhelyet hoz létre, ahol az primitív adattípus tárolódik.

A Wrapper osztály bizonyos funkciókkal rendelkezik az objektum primitív adatokké és primitív adatokké objektummá történő átalakításáért, azaz a dobozba / dobozba. Objektumokról primitív és primitív adatokké konvertálás objektummá automatikusan történik. A primitív adattípus az int, float, char, double, byte stb.

Szintaxis:

Az alábbi nyilatkozat bemutatja, hogy egy Wrapper osztály működik a java programban.

pl int i = 100;

Az alábbiakban bemutatott példában láthatjuk, hogy egész szám adattípus. Egy ideig a java egészben objektumtípusként kell átadni. Ebben az esetben a wrapper osztályt egy egész szám objektummá alakításához használhatjuk.

Integer intVal = new Integer(i);

A fenti szintaxisban láthatjuk, hogy egy primitív adattípust átalakítunk objektummá Integer osztályobjektummal. Azt is mondhatjuk, hogy a primitív adattípus objektumba van csomagolva.

A Wrapper Class használata a Java-ban

  1. A Wrapper Class felhasználható egy objektum primitív adattípusvá konvertálására vagy fordítva.
  2. A wrapper osztályok használata javítja a program teljesítményét.
  3. A Wrapper osztály segíti az objektum sorosítását, és fordítva, képes primitív adatokat objektumokká konvertálni. Időnként objektumokat kell adatfolyamot közvetíteni, ebben az esetben a wrapper osztály képes átalakítani sorosítási formátumba.
  4. Néhány fontos módszert a wrapper osztály biztosít, amely a gyűjteményekben történő keresés és rendezés elvégzésére szolgál.
  5. Kivonás és összeadás: az ilyen típusú műveletek nem módosíthatják a Wrapper osztály primitív egész számának régi értékét, ezért a Wrapper osztályt változhatatlannak tekintik.
  6. A többszálú folyamatban használt csomagoló osztály, mivel a többszálú folyamatnak objektumra van szüksége a folyamatok szinkronizálásához. A Wrapper osztály konvertálja a különféle adattípusokat objektumokká.

A JavaAPI alapján a Wrapper osztályhierarchia az Objektumot a különböző primitív osztályok tetején tartja. A szám, a karakter és a logikai érték közvetlenül az objektum után a második szintre jön. Harmadik szinten a bájt, a rövid, az int, a hosszú, az úszó, a dupla szám adattípus alá tartozik.

A csomagoló osztályok a következő két mechanizmust használják: Autoboxing és Unboxing az adattípus konvertálására / csomagolására vagy egy objektum primitív adattípusmá történő konvertálására.

Autoboxing: Az autoboxing a primitív adattípus automatikus objektummá alakítását jelenti a Wrapper osztályok segítségével. Autoboxing néven ismert. Az alábbiakban bemutatott példákban, int-re konvertálva Integer-objektummá, és a c-példákban különféle primitív adattípusokat konvertálunk a megfelelő objektummá.

Dobozok eltávolítása: A dobozok eltávolítása az Autoboxing fordított folyamata. A wrapper osztály objektumának automatikus konvertálása a megfelelő primitív adattípusra Unboxing néven ismert. Az alábbiakban megadott b példában az Integer objektumot átalakítjuk int primitív adattípusmá.

Példák a Java csomagoló osztályra

Az alábbiakban bemutatjuk a Java csomagolócsomag különféle példáit.

1. példa

Az alábbiakban bemutatott példában láthatjuk, hogy hogyan történik a kézi átalakítás a wrapper osztályon keresztül az int i-ről egy k objektumra.

Kód:

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

Kimenet:

A fenti példában láthatjuk, hogyan történik kifejezetten az átalakítás.

2. példa

Az alább bemutatott példában láthatjuk, hogy ez az átalakítási folyamat néha automatikusan megy végbe, azaz autoboxing néven ismert.

Kód:

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

Kimenet:

A fenti példában az int érték implicit módon objektummá konvertálva. Ez az érték a ArrayList-ből származhat.

3. példa

Ebben a példában a Unboxing megvalósításán megyünk keresztül. Az Unboxing az Autoboxing fordított folyamata.

Kód:

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

Kimenet:

A fenti példában az ArrayList objektummezőt k primitív adattípusba konvertálják, azaz int k-re.

4. példa

A következő példa tartalmazza az Autoboxing és Unboxing összes részletét.

Kód:

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

Kimenet:

A fenti programban láthatjuk a Wrapper osztályok megvalósítását. A csomagoló osztályok az primitív adattípust objektummá és objektummá konvertálják primitív adattípusmá. A csomagoló osztály külön osztályokat biztosít minden primitív adattípushoz.

Következtetés

A Wrapper osztályokon keresztül könnyen megértjük az automatikus dobozolást és a dobozok eltávolítását. Hogyan történik az átalakulás az primitívről az objektumra és fordítva, ami könnyen megérthető a Wrapper osztályokon keresztül. Mindegyik primitív adattípushoz van egy külön osztály a java-ban.

Ajánlott cikk

Ez egy útmutató a Java csomagoló osztályhoz. Itt tárgyaljuk a Java csomagoló osztály szintaxisát és használatát, különféle példákat és a kód megvalósítását. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Hogyan működik az esettanulmány a Java-ban?
  2. Mi a Generics a Java-ban?
  3. A szérializáció fogalma Java-ban
  4. Java top 8 interjúkérdések
  5. Java telepítési eszközök
  6. Példák és hogyan működnek a generikus gyógyszerek a C # -ben