Ja. Manchmal sind unsere Daten ein int
, ein primitiver Datentyp, aber wir brauchen die Daten als Objekt.
Zum Beispiel könnte eine Methode ein Objekt als Parameter erfordern, aber wir haben nur ein int
.
Es gibt eine Trennlinie zwischen primitiven Datentypen und Objekten. Diese Trennlinie musste in frühen Java Versionen vom Programmierer überbrückt werden. Für jeden primitiven Typ gibt es eine entsprechende Wrapper-Klasse. Eine Wrapper-Klasse wird verwendet werden, um primitive Datenwerte in ein Objekt zu stellen. Stellt Euch vor Ihr verpackt Daten in einem Objekt, wie wenn Ihr ein Geschenk verpackt (to wrap heißt im Englischen verpacken).
Seit der Java Version 5 müssen wir uns darüber keine Gedanken mehr machen. Wenn z.B. eine Methode ein Objekt vom Typ Integer benötigt, geben wir ihr ein int
und Java wird automatisch ein Objekt vom Typ Integer erzeugen. Das wird als Autoboxing bezeichnet.
Das funktioniert auch in die andere Richtung. Haben wir ein Objekt vom Typ Integer können wir es einfach einer int-Variablen zuweisen. Das wird als Auto-Unboxing bezeichnet.
Die Wrapper-Klassen sind im Paket java.lang
definiert und sind daher (wie alle Klassen dieses Pakets) automatisch in Ihrem Programm verfügbar.
primitiver Typ | Wrapper-Klasse |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
Ist String
eine Wrapper-Klasse?