Java Wrapper-klasse (med eksempler)

I denne vejledning lærer vi om Java Wrapper-klassen ved hjælp af eksempler.

De wrapper klasser i Java bruges til at konvertere primitive typer ( int, char, float, osv) i tilsvarende genstande.

Hver af de 8 primitive typer har tilsvarende indpakningsklasser.

Primitiv type Indpakningsklasse
byte Byte
boolean Boolean
char Character
double Double
float Float
int Integer
long Long
short Short

Konverter primitiv type til indpakningsgenstande

Vi kan også bruge valueOf()metoden til at konvertere primitive typer til tilsvarende objekter.

Eksempel 1: Primitive typer til indpakningsgenstande

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

Produktion

Et objekt af heltal oprettes. Et objekt med dobbelt oprettes.

I ovenstående eksempel har vi brugt valueOf()metoden til at konvertere de primitive typer til objekter.

Her har vi brugt instanceofoperatøren til at kontrollere, om de genererede objekter er af Integereller Doubletype eller ej.

Imidlertid kan Java-kompilatoren konvertere de primitive typer 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 proces kaldes automatisk boksning . Hvis du vil vide mere, skal du besøge Java autoboxing og unboxing.

Bemærk : Vi kan også konvertere primitive typer til indpakningsobjekter ved hjælp af Wrapperklassekonstruktører. Men brugen af ​​konstruktører kasseres efter Java 9.

Indpakningsgenstande til primitive typer

At konvertere genstande ind i primitive typer, kan vi bruge de tilsvarende værdi fremgangsmåder ( intValue(), doubleValue()osv) til stede i hver wrapper klasse.

Eksempel 2: Indpakningsgenstande 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); ) ) 

Produktion

 Værdien af ​​a: 23 Værdien af ​​b: 5,55 

I ovenstående eksempel har vi brugt intValue()og doubleValue()metode til at konvertere Integerog Doublegenstande til tilsvarende primitive typer.

Java-kompilatoren kan dog 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 proces kaldes unboxing . Hvis du vil vide mere, skal du besøge Java autoboxing og unboxing.

Fordele ved indpakningsklasser

  • I Java er vi nogle gange nødt til at bruge objekter i stedet for primitive datatyper. For eksempel mens du arbejder med samlinger.
     // error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
    I sådanne tilfælde hjælper wrapper-klasser os med at bruge primitive datatyper som objekter.
  • Vi kan gemme nulværdien i indpakningsobjekter. For eksempel,
      // generates an error int a = null; // runs perfectly Integer a = null; 

Bemærk : Primitive typer er mere effektive end tilsvarende objekter. Derfor, når effektivitet er kravet, anbefales det altid primitive typer.

Interessante artikler...