In diesem Tutorial lernen wir anhand von Beispielen die Java Wrapper-Klasse kennen.
Die Wrapper - Klassen in Java verwendet werden , primitive Typen zu konvertieren ( int
, char
, float
, usw.) in entsprechenden Objekte.
Jeder der 8 primitiven Typen hat entsprechende Wrapper-Klassen.
Primitiver Typ | Wrapper-Klasse |
---|---|
byte | Byte |
boolean | Boolean |
char | Character |
double | Double |
float | Float |
int | Integer |
long | Long |
short | Short |
Konvertieren Sie den primitiven Typ in Wrapper-Objekte
Wir können die valueOf()
Methode auch verwenden , um primitive Typen in entsprechende Objekte zu konvertieren.
Beispiel 1: Primitive Typen für Wrapper-Objekte
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."); ) ) )
Ausgabe
Ein Objekt von Integer wird erstellt. Ein Objekt von Double wird erstellt.
Im obigen Beispiel haben wir die valueOf()
Methode verwendet, um die primitiven Typen in Objekte zu konvertieren.
Hier haben wir die verwendeten instanceof
Betreiber zu prüfen , ob die erzeugten Objekte sind Integer
oder Double
Art oder nicht.
Der Java-Compiler kann die primitiven Typen jedoch direkt in entsprechende Objekte konvertieren. Beispielsweise,
int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b;
Dieser Vorgang wird als Auto-Boxing bezeichnet . Weitere Informationen finden Sie unter Java Autoboxing und Unboxing.
Hinweis : Wir können primitive Typen auch mithilfe von Wrapper
Klassenkonstruktoren in Wrapper-Objekte konvertieren . Die Verwendung von Konstruktoren wird jedoch nach Java 9 verworfen.
Wrapper-Objekte in primitive Typen
Um Objekte in die primitiven Typen konvertieren, können wir die entsprechenden Wert Methoden ( intValue()
, doubleValue()
usw.) , die in jeder Wrapper - Klasse.
Beispiel 2: Wrapper-Objekte in primitive Typen
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); ) )
Ausgabe
Der Wert von a: 23 Der Wert von b: 5,55
Im obigen Beispiel haben wir die Methode intValue()
und doubleValue()
verwendet, um die Objekte Integer
und Double
in entsprechende primitive Typen zu konvertieren .
Der Java-Compiler kann Objekte jedoch automatisch in entsprechende primitive Typen konvertieren. Beispielsweise,
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;
Dieser Vorgang wird als Unboxing bezeichnet . Weitere Informationen finden Sie unter Java Autoboxing und Unboxing.
Vorteile von Wrapper-Klassen
- In Java müssen wir manchmal Objekte anstelle primitiver Datentypen verwenden. Zum Beispiel beim Arbeiten mit Sammlungen.
// error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
- Wir können den Nullwert in Wrapper-Objekten speichern. Beispielsweise,
// generates an error int a = null; // runs perfectly Integer a = null;
Hinweis : Primitive Typen sind effizienter als entsprechende Objekte. Wenn Effizienz erforderlich ist, werden daher immer primitive Typen empfohlen.