zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Wir würden nicht erwarten, dass

data.add( 44 );

funktioniert, da es so aussieht, als würde es primitive Daten direkt in die Liste der Objektreferenzen einfügen.


Autoboxing

Trotzdem ist die Anweisung korrekt. Der Java Compiler erwartet eine Objektreferenz. Wenn er also

data.add( 44 );

sieht, muss er eine Objektreferenz für add() bereitstellen und führt automatisch Folgendes aus:

data.add( new Integer(44) );

Diese Funktion wird als Autoboxing bezeichnet. Sie gibt es seit Java 5.0.

Unboxing funktioniert in umgekehrter Richtung. Ein int innerhalb eines Wrapper-Objekts wird automatisch extrahiert, wenn ein Ausdruck einen int erfordert. Der folgende Ausdruck

int sum = 24 + data.get(1) ;

extrahiert das int in Zelle 1 von data und addiert ihn zum primitiven int 24.


Frage 20:

Funktioniert das Folgende?

Double value = 2.5;

double sum = value + 5.7;

zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite