Introduktion til Wrapper Class i Java
Wrapper Class er en vigtig klasse i java.lang-biblioteket. Objekter med indpakningsklasse opretter en indpakning til de primitive datatyper. Mens der oprettes et objekt med indpakningsklasse, oprettes plads i hukommelsen, hvor den primitive datatype er gemt.
Indpakningsklasse indeholder nogle funktioner til konvertering af objektet til primitive data og primitive data til objekt, dvs. boksning / afboksning. Konvertering fra objekter til primitive data og primitive data til et objekt finder sted automatisk. Primitiv datatype henviser til int, float, char, double, byte osv.
Syntaks:
Under den givne erklæring viser, hvordan en indpakningsklasse fungerer i java-programmet.
fx int i = 100;
I det nedenfor givne eksempel kan vi se, at jeg er en heltal datatype. Nogen tid i java-heltal skal sendes som en type objekt. I dette tilfælde kan vi bruge indpakningsklassen til at konvertere et heltal til et objekt.
Integer intVal = new Integer(i);
I den ovenfor givne syntaks kan vi se, hvordan en primitiv datatype konverteres til et objekt ved hjælp af et heltalklasseobjekt. Kan også sige, at den primitive datatype er indpakket som et objekt.
Anvendelser af indpakningsklasse i Java
- Indpakningsklasse kan bruges til at konvertere et objekt til en primitiv datatype eller omvendt.
- Brug af indpakningsklasser forbedrer programmets ydeevne.
- Indpakningsklasse hjælper med at serialisere objekt og det vice versa, det kan konvertere primitive data til objekter. Nogle gange er vi nødt til at streame objekter, i dette tilfælde kan indpakningsklasse konvertere dem til serialiseringsformat.
- Nogle vigtige metoder leveres af indpakningsklassen, der bruges til at udføre søgning og sortering i samlingerne.
- Subtraktion og tilføjelse, disse typer operationer kan ikke ændre den gamle værdi af primært heltal for indpakningsklasse, det er grunden til, at indpakningsklasse er kendt som uforanderlig.
- Indpakningsklasse, der bruges i multitrådeprocessen, da multetrådprocessen har brug for et objekt til synkronisering af processer. Indpakningsklasse konverterer forskellige datatype til et objekt.
På basis af JavaAPI holder Wrapper-klasseshierarkiet Objekt øverst i de forskellige primitive klasser. Number, Character & Boolean kommer på det andet niveau lige efter objektet. På det tredje niveau er Byte, Kort, Int, Lang, Float, Dobbelt under Nummer-datatypen.
Indpakningsklasser bruger følgende to mekanismer Autoboxing & unboxing til konvertering / indpakning af datatypen eller konvertering af et objekt til den primitive datatype.
Autoboxing: Autoboxing henviser til den automatiske konvertering af den primitive datatype til objekt ved hjælp af Wrapper-klasser. Det kaldes Autoboxing. I de nedenfor givne eksempler konverteres int til heltalobjekt & i eksempler c konverteres forskellige primitive datatyper til det tilsvarende objekt.
Unboxing: Unboxing er den omvendte proces med autoboxing. Automatisk konvertering af indpakningsklasseobjekt til den tilsvarende primitive datatype kaldes Unboxing. I det nedenfor givne eksempel b konverteres Integer-objektet til int-primitiv datatype.
Eksempler på indpakningsklasse i Java
Nedenfor er de forskellige eksempler på Wrapper Class i Java.
Eksempel 1
I det nedenfor givne eksempel kan vi se, hvordan manuel konvertering foregår gennem indpakningsklasse fra int i til et objekt k.
Kode:
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);
)
)
Produktion:
I ovenstående eksempel kan vi se, hvordan konvertering finder sted eksplicit.
Eksempel 2
I det nedenfor givne eksempel kan vi se, at denne konverteringsproces undertiden finder sted automatisk, dvs. kendt som autoboxing.
Kode:
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));
)
)
Produktion:
I det ovenfor givne eksempel konverteres int-værdien implicit til et objekt. Yderligere kan denne værdi komme fra ArrayList.
Eksempel 3
I dette eksempel gennemgår vi implementeringen af Unboxing. Unboxing er den omvendte proces med autoboxing.
Kode:
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);
)
)
Produktion:
I det ovenfor givne eksempel konverteres feltet ArrayList-objekt til k primitiv datatype, dvs. int k.
Eksempel 4
Følgende givne eksempel har alle detaljerne i Autoboxing & Unboxing.
Kode:
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);
)
)
Produktion:
I det ovennævnte program kan vi se implementeringen af Wrapper-klasser. Indpakningsklasser konverterer den primitive datatype til objekt og objekt til den primitive datatype. Indpakningsklassen giver separate klasser for hver primitiv datatype.
Konklusion
Gennem Wrapper-klasserne kan vi nemt forstå autoboxing & unboxing. Hvordan konvertering finder sted fra primitiv til objekt & det vice versa, som let kan forstås gennem indpakningsklasser. For hver af de primitive datatyper er der en dedikeret klasse i java.
Anbefalet artikel
Dette er en guide til Wrapper Class i Java. Her diskuterer vi syntaks og anvendelser af indpakningsklassen i Java sammen med forskellige eksempler og kodeimplementering. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -
- Hvordan fungerer sagopgørelse i Java?
- Hvad er Generics i Java?
- Begrebet serialisering i Java
- Java Top 8 Interviewspørgsmål
- Java-implementeringsværktøjer
- Eksempler og hvordan generics fungerer i C #