Introductie van Wrapper Class in Java
Wrapper Class is een belangrijke klasse van de java.lang-bibliotheek. Wrapper-klasseobjecten maken een wrapper voor de primitieve gegevenstypen. Bij het maken van een object van de wrapper-klasse wordt ruimte gecreëerd in het geheugen waarin het primitieve gegevenstype wordt opgeslagen.
Wrapper-klasse biedt enkele functies voor de conversie van het object naar primitieve gegevens en primitieve gegevens naar object, bijvoorbeeld boksen / unboxing. Conversie van objecten naar primitieve gegevens & primitieve gegevens naar een object vindt automatisch plaats. Primitief gegevenstype verwijst naar de int, float, char, double, byte, etc.
Syntaxis:
De onderstaande verklaring toont hoe een Wrapper-klasse werkt in het Java-programma.
bijv. int i = 100;
In het onderstaande voorbeeld kunnen we zien dat het gegevenstype integer is. Enige tijd in java integer moet worden doorgegeven als een type object. In dit geval kunnen we de wrapper-klasse gebruiken om een geheel getal om te zetten in een object.
Integer intVal = new Integer(i);
In de hierboven gegeven syntaxis kunnen we zien hoe een primitief gegevenstype wordt geconverteerd naar een object met behulp van een Integer-klasseobject. Kan ook zeggen dat primitief gegevenstype is verpakt als een object.
Gebruik van Wrapper Class in Java
- Wrapper Class kan worden gebruikt om een object te converteren naar een primitief gegevenstype of omgekeerd.
- Het gebruik van wrapper-klassen verbetert de prestaties van het programma.
- Wrapper-klasse helpt bij de serialisatie van een object en omgekeerd, het kan primitieve gegevens naar objecten converteren. Soms moeten we objecten streamen, in dat geval kan de wrapper-klasse het converteren naar een serialisatieformaat.
- Enkele belangrijke methoden worden geleverd door de wrapper-klasse, die wordt gebruikt om het zoeken en sorteren in de collecties uit te voeren.
- Aftrekken en optellen, dit soort bewerkingen kan de oude waarde van het primitieve gehele getal van de Wrapper-klasse niet wijzigen, daarom staat de Wrapper-klasse bekend als onveranderlijk.
- Wrapper-klasse die wordt gebruikt in het multithreading-proces, omdat het multithreading-proces een object nodig heeft voor de synchronisatie van processen. Wrapper-klasse converteert een ander gegevenstype naar een object.
Op basis van JavaAPI houdt de Wrapper-klassehiërarchie Object aan de top van de verschillende primitieve klassen. Number, Character & Boolean komt op het tweede niveau net na het Object. Op het derde niveau valt Byte, Short, Int, Long, Float, Double onder het gegevenstype Number.
Wrapper-klassen gebruiken de volgende twee mechanismen Autoboxing & unboxing voor de conversie / inwikkeling van het gegevenstype of de conversie van een object in het primitieve gegevenstype.
Autoboxing: Autoboxing verwijst naar de automatische conversie van het primitieve gegevenstype naar object met behulp van Wrapper-klassen. Het staat bekend als Autoboxing. In de hieronder gegeven voorbeelden, int geconverteerd naar Integer-object en in voorbeelden c, wordt een ander primitief gegevenstype geconverteerd naar het overeenkomstige object.
Unboxing: Unboxing is het omgekeerde proces van Autoboxing. Het automatisch omzetten van een wrapper-klasseobject naar het overeenkomstige primitieve gegevenstype staat bekend als Unboxing. In het onderstaande voorbeeld b wordt het object Integer geconverteerd naar een prim primitief gegevenstype.
Voorbeelden van Wrapper Class in Java
Hieronder staan de verschillende voorbeelden van Wrapper Class in Java.
Voorbeeld 1
In het onderstaande voorbeeld kunnen we zien hoe handmatige conversie plaatsvindt via wrapper-klasse van int i naar een object k.
Code:
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);
)
)
Output:
In het bovenstaande voorbeeld kunnen we zien hoe conversie expliciet plaatsvindt.
Voorbeeld 2
In het onderstaande voorbeeld kunnen we zien dat dit conversieproces soms automatisch plaatsvindt, dwz bekend als autoboxing.
Code:
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));
)
)
Output:
In het hierboven gegeven voorbeeld wordt de int-waarde impliciet als een object geconverteerd. Verder kan deze waarde worden verkregen uit de ArrayList.
Voorbeeld 3
In dit voorbeeld zullen we de implementatie van Unboxing doorlopen. Unboxing is het omgekeerde proces van Autoboxing.
Code:
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);
)
)
Output:
In het hierboven gegeven voorbeeld wordt het objectveld ArrayList geconverteerd naar k primitief gegevenstype dat wil zeggen int k.
Voorbeeld 4
Het volgende gegeven voorbeeld bevat alle details van Autoboxing & Unboxing.
Code:
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);
)
)
Output:
In het bovengenoemde programma zien we de implementatie van Wrapper-klassen. Wrapper-klassen converteren het primitieve gegevenstype naar object en object naar het primitieve gegevenstype. De wrapper-klasse biedt afzonderlijke klassen voor elk primitief gegevenstype.
Conclusie
Via de Wrapper-klassen kunnen we de autoboxing & unboxing gemakkelijk begrijpen. Hoe conversie plaatsvindt van primitief naar object en vice versa, wat gemakkelijk kan worden begrepen via Wrapper-klassen. Voor elk van de primitieve gegevenstypen is er een speciale klasse in Java.
Aanbevolen artikel
Dit is een handleiding voor Wrapper Class in Java. Hier bespreken we de syntaxis en het gebruik van de wrapper-klasse in Java, samen met verschillende voorbeelden en code-implementatie. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -
- Hoe werkt Case Statement op Java?
- Wat is Generics in Java?
- Het concept van serialisatie in Java
- Vragen tijdens solliciteren bij Java Top 8
- Hulpmiddelen voor Java-implementatie
- Voorbeelden en hoe generieken werken in C #