Java Wrapper Class (med eksempler)

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.
     // error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
    I slike tilfeller hjelper wrapper-klasser oss å bruke primitive datatyper som objekter.
  • 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.

Interessante artikler...