I denne veiledningen vil vi lære om Java Wrapper-klassen ved hjelp av eksempler.
Innpakningen klasser i Java benyttet til å konvertere primitive typer ( int, char, float, etc) inn i tilsvarende objekter.
Hver av de 8 primitive typene har tilsvarende innpakningsklasser.
| Primitiv type | Pakkeklasse |
|---|---|
byte | Byte |
boolean | Boolean |
char | Character |
double | Double |
float | Float |
int | Integer |
long | Long |
short | Short |
Konverter Primitive Type til Wrapper Objects
Vi kan også bruke valueOf()metoden til å konvertere primitive typer til tilsvarende objekter.
Eksempel 1: Primitive typer til innpakningsobjekter
class Main ( public static void main(String() args) ( // create primitive types int a = 5; double b = 5.65; //converts into wrapper objects Integer aObj = Integer.valueOf(a); Double bObj = Double.valueOf(b); if(aObj instanceof Integer) ( System.out.println("An object of Integer is created."); ) if(bObj instanceof Double) ( System.out.println("An object of Double is created."); ) ) )
Produksjon
Et objekt av heltal opprettes. Et objekt av Double opprettes.
I eksemplet ovenfor har vi brukt valueOf()metoden for å konvertere de primitive typene til objekter.
Her har vi brukt instanceofoperatøren til å sjekke om de genererte objektene er av Integereller Doubletype eller ikke.
Imidlertid kan Java-kompilatoren konvertere de primitive typene direkte til tilsvarende objekter. For eksempel,
int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b;
Denne prosessen er kjent som autoboksing . For å lære mer, besøk Java autoboksing og unboxing.
Merk : Vi kan også konvertere primitive typer til innpakningsobjekter ved hjelp av Wrapperklassekonstruktører. Men bruken av konstruktører kastes etter Java 9.
Pakk objekter inn i primitive typer
For å konvertere objekter inn i primitive typer, kan vi bruke den tilsvarende verdi metoder ( intValue(), doubleValue()etc.) som er tilstede i hver enkelt omslag klasse.
Eksempel 2: Innpakningsobjekter til primitive typer
class Main ( public static void main(String() args) ( // creates objects of wrapper class Integer aObj = Integer.valueOf(23); Double bObj = Double.valueOf(5.55); // converts into primitive types int a = aObj.intValue(); double b = bObj.doubleValue(); System.out.println("The value of a: " + a); System.out.println("The value of b: " + b); ) )
Produksjon
Verdien av a: 23 Verdien av b: 5,55
I det ovenstående eksempel har vi benyttet intValue()og doubleValue()metoden for å konvertere Integerog Doublegjenstander inn i tilsvarende primitive typer.
Imidlertid kan Java-kompilatoren automatisk konvertere objekter til tilsvarende primitive typer. For eksempel,
Integer aObj = Integer.valueOf(2); // converts into int type int a = aObj; Double bObj = Double.valueOf(5.55); // converts into double type double b = bObj;
Denne prosessen er kjent som unboxing . For å lære mer, besøk Java autoboksing og unboxing.
Fordeler med emballasjeklasser
- I Java kan det hende at vi trenger å bruke objekter i stedet for primitive datatyper. For eksempel mens du jobber med samlinger.
I slike tilfeller hjelper wrapper-klasser oss å bruke primitive datatyper som objekter.// error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList(); - Vi kan lagre nullverdien i innpakningsobjekter. For eksempel,
// generates an error int a = null; // runs perfectly Integer a = null;
Merk : Primitive typer er mer effektive enn tilsvarende objekter. Derfor, når effektivitet er kravet, anbefales det alltid primitive typer.








