Java-Wrapper-Klasse
Java-Wrapper-Klasse
In diesem Tutorial lernen wir die Klasse Java Wrapper anhand von Beispielen kennen.
Die Wrapper-Klassen in Java werden verwendet, um primitive Typen (int
, char
, float
, usw.) in entsprechende 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 |
Primitive Type in Wrapper-Objekte umwandeln
Wir können auch den valueOf()
verwenden Methode, um primitive Typen in entsprechende Objekte umzuwandeln.
Beispiel 1:Primitive Typen zu Wrapper-Objekten
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
An object of Integer is created. An object of Double is created.
Im obigen Beispiel haben wir den valueOf()
verwendet Methode, um die primitiven Typen in Objekte umzuwandeln.
Hier haben wir den instanceof
verwendet Operator, um zu überprüfen, ob die generierten Objekte von Integer
sind oder Double
eingeben oder nicht.
Der Java-Compiler kann die primitiven Typen jedoch direkt in entsprechende Objekte umwandeln. Zum Beispiel
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 . Um mehr zu erfahren, besuchen Sie Java Autoboxing und Unboxing.
Hinweis :Wir können mit Wrapper
auch primitive Typen in Wrapper-Objekte umwandeln Klassenkonstruktoren. Aber die Verwendung von Konstruktoren wird nach Java 9 verworfen.
Wrapper-Objekte in primitive Typen
Um Objekte in die primitiven Typen umzuwandeln, können wir die entsprechenden Wertmethoden verwenden (intValue()
, doubleValue()
, usw.), die in jeder Wrapper-Klasse vorhanden sind.
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
The value of a: 23 The value of b: 5.55
Im obigen Beispiel haben wir den intValue()
verwendet und doubleValue()
Methode zum Konvertieren von Integer
und Double
Objekte in entsprechende primitive Typen.
Der Java-Compiler kann jedoch Objekte automatisch in entsprechende primitive Typen umwandeln. Zum Beispiel
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 . Um mehr zu erfahren, besuchen Sie Java Autoboxing und Unboxing.
Vorteile von Wrapper-Klassen
- In Java müssen wir manchmal Objekte statt primitiver Datentypen verwenden. Zum Beispiel beim Arbeiten mit Sammlungen.
// error ArrayList<int> list = new ArrayList<>(); // runs perfectly ArrayList<Integer> list = new ArrayList<>();
- Wir können den Nullwert in Wrapper-Objekten speichern. Beispiel:
// generates an error int a = null; // runs perfectly Integer a = null;
Hinweis :Primitive Typen sind effizienter als entsprechende Objekte. Wenn also Effizienz gefragt ist, werden immer primitive Typen empfohlen.
Java