
„Hallo, Amigo!“
„Heute erzähle ich etwas über Autoboxing . AutoBoxing bedeutet, etwas automatisch in eine Box zu legen.“
„Sie werden sich erinnern, dass es in Java sowohl Typen gibt, die die Object-Klasse erben, als auch primitive Typen. Aber es stellt sich heraus, dass praktische Dinge wie Sammlungen und Generika nur mit Typen funktionieren, die Object erben.“
„Dann wurde die Entscheidung getroffen, von jedem primitiven Typ ein nicht-primitives Gegenstück zu erstellen.“
Primitiver Typ | Nicht-primitives Gegenstück |
---|---|
Byte | Byte |
kurz | Kurz |
int | Ganze Zahl |
lang | Lang |
schweben | Schweben |
doppelt | Doppelt |
Boolescher Wert | Boolescher Wert |
verkohlen | Charakter |
Leere | Leere |
„Aber es ist super umständlich, ständig zwischen diesen Typen zu konvertieren:“
int x = 3;
Integer y = new Integer(x + 1);
int z = y.intValue();
„Vor allem bei der direkten Arbeit mit Sammlungen:“
int[] numbers = new int[10];
ArrayList list = new ArrayList();
for (int i = 0; i < numbers.length; i++)
{
list.add( new Integer(i));
}
„Deshalb haben die Entwickler von Java das „Autoboxing“ ihrer primitiven Typen und das „Unboxing“ ihrer nicht-primitiven Gegenstücke erfunden.“
"So funktioniert das:
Was Sie sehen | Was wirklich passiert |
---|---|
|
|
|
|
|
|
|
|
„Es ist alles ganz einfach. Sie können einander die Typen int und Integer zuweisen, und der Compiler kümmert sich um alles andere.“
„Das ist sehr praktisch.“
„Ja. Aber es gibt Nuancen, über die ich später sprechen werde.“
GO TO FULL VERSION