English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem教程 werden wir mit Beispielen lernen, wie man die Java Wrapper-Klassen (Wrapper) verwendet.
Die Wrapper-Klassen in Java werden verwendet, um die ursprünglichen Typen (int, char, float usw.) in die entsprechenden Objekte zu konvertieren.
8Jeder der Basistypen hat einen entsprechenden Wrapper-Klasse.
Ursprüngliche Typen | Wrapper-Klassen |
---|---|
byte | Byte |
boolean | Boolean |
char | Character |
double | Double |
float | Float |
int | Integer |
long | Long |
short | Short |
Wir können auch die Methode valueOf() verwenden, um den ursprünglichen Typ in das entsprechende Objekt zu konvertieren.
class Main { public static void main(String[] args) { //Erstellung von Originaltypen int a = 5; double b = 5.65; //Umwandlung in Wrapper-Objekte Integer aObj = Integer.valueOf(a); Double bObj = Double.valueOf(b); if(aObj instanceof Integer) { System.out.println("Erstellung eines Integer-Objekts."); } if(bObj instanceof Double) { System.out.println("Erstellung eines Double-Objekts."); } } }
Ausgaberesultat
Erstellung eines Integer-Objekts. Erstellung eines Double-Objekts.
Im obigen Beispiel haben wir die Methode valueOf() verwendet, um Originaltypen in Objekte umzuwandeln.
Hier verwenden wir den instanceof-Operator, um zu überprüfen, ob das generierte Objekt dem Typ Integer oder Double entspricht.
Aber der Java-Compiler kann Originaltypen direkt in die entsprechenden Objekte umwandeln. Zum Beispiel,
int a = 5; //Umwandlung in Objekte Integer aObj = a; double b = 5.6; //Umwandlung in Objekte Double bObj = b;
Dieser Prozess wird alsAutomatische Verpackung. Weitere Informationen finden Sie unterJava Automatische Verpackung und Entpackung.
Beachten Sie:können wir auch die Wrapper-Klassen (Wrapper) verwenden, um Originaltypen in Wrapper-Objekte umzuwandeln.Aber in Java 9Nachher wird der Konstruktor nicht mehr verwendet.
Um Objekte in Originaltypen umzuwandeln, können wir die entsprechenden Wert-Methoden (intValue(), doubleValue() usw.) in jeder Wrapper-Klasse verwenden.
class Main { public static void main(String[] args) { //Erstellung von Objekten der Wrapper-Klassen Integer aObj = Integer.valueOf(23); Double bObj = Double.valueOf(5.55); //Umwandlung in Originaltypen int a = aObj.intValue(); double b = bObj.doubleValue(); System.out.println("Wert von a:"); + a); System.out.println("Wert von b:"); + b); } }
Ausgaberesultat
Wert von a: 23 Wert von b: 5.55
Im obigen Beispiel haben wir die Methoden intValue() und doubleValue() verwendet, um Integer- und Double-Objekte in die entsprechenden ursprünglichen Basistypen umzuwandeln.
Aber der Java-Compiler kann Objekte automatisch in die entsprechenden Originaltypen umwandeln. Zum Beispiel,
Integer aObj = Integer.valueOf(2); //in den Typ int umgewandelt int a = aObj; Double bObj = Double.valueOf(5.55); //in den Typ double umgewandelt double b = bObj;
Dieser Prozess wird alsEntpackung. Weitere Informationen finden Sie unterJava Automatische Verpackung und Entpackung.
In Java können wir manchmal Objekte anstatt von Grunddatentypen verwenden müssen. Zum Beispiel beim Verwenden von Sammlungen.
// Fehler ArrayList<int> list = new ArrayList<>(); //Normaler Betrieb ArrayList<Integer> list = new ArrayList<>();
In diesem Fall können die Wrapper-Klassen uns helfen, ursprüngliche Datentypen als Objekte zu verwenden.
Wir können Nullwerte in Wrapper-Objekte speichern. Zum Beispiel
//Es wird ein Fehler generiert int a = null; // Normaler Betrieb Integer a = null;
Beachten SieGrundtypen sind effizienter als die entsprechenden Objekte. Daher wird empfohlen, Grundtypen zu verwenden, wenn Effizienz erforderlich ist.