English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grund教程

Java Prozesssteuerung

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java Ausnahmebehandlung

Java Liste (List)

Java Queue (Warteschlange)

Java Map-Sammlung

Java Set-Sammlung

Java Ein- und Ausgabe (I/O)

Java Reader/Writer

Andere Themen von Java

Java Wrapper Klassen (Wrapper)

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 TypenWrapper-Klassen
byteByte
booleanBoolean
charCharacter
doubleDouble
floatFloat
intInteger
longLong
shortShort

Konvertieren Sie die Basistypen in Wrapper-Objekte

Wir können auch die Methode valueOf() verwenden, um den ursprünglichen Typ in das entsprechende Objekt zu konvertieren.

Beispiel1:Originaltypen der Wrapper-Objekte

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.

Umwandlung von Wrapper-Objekten in Originaltypen

Um Objekte in Originaltypen umzuwandeln, können wir die entsprechenden Wert-Methoden (intValue(), doubleValue() usw.) in jeder Wrapper-Klasse verwenden.

Beispiel2:Umwandlung von Wrapper-Objekten in Originaltypen

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.

Vorteile der Wrapper-Klassen

  • 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.