Java Reference
In-Depth Information
Für wrappertyp kann eine der Klassen byte , short , int , long , float oder double eingesetzt
werden. Da sie als static angelegt sind, existieren Sie nur einmal je Klasse und können
durch die Angabe final auch nicht verändert werden. Das würde auch wenig Sinn
machen, denn die Konstanten stellen die Ober- und Untergrenzen des Wertebereichs
für den jeweiligen Datentyp dar. Sie können so jederzeit abgefragt werden.
Die Klassen Float und Double besitzen zusätzlich noch die Konstanten NaN (Not a Num-
ber), NEGATIVE_INFINITY und POSITIVE_INFINITY . NaN entsteht bei der Division, wenn die
Kommazahldivision 0.0/0.0 ausgeführt wird. Das Ergebnis dieser Division ist nicht
definiert. Wird eine positive Zahl durch 0.0 dividiert, entsteht als Ergebnis Infinity .
Wird eine negative Zahl durch 0.0 dividiert, entsteht als Ergebnis -Infinity .
8.3.3 Vereinfachter Umgang mit Wrapper-Klassen durch Autoboxing
Der Compiler vereinfacht den Umgang mit Wrapper-Klassen durch das sogenannte
Autoboxing ganz entscheidend. Stellen Sie sich vor, Sie verwenden in einem Programm
primitive Datentypen und Wrapper-Klassen:
inta=5;
integerb=newInteger(3);
Stellen Sie sich nun weiter vor, Sie wollen Rechenoperationen in gemischten Ausdrü-
cken vornehmen. Sie wollen z. B. a mit b multiplizieren. Der Ausdruck müsste eigentlich
so formuliert werden:
intc=a*b.intValue();
Sie müssen also den im Wrapper-Objekt b gespeicherten Wert als primitiven Typ int
zurückliefern lassen, damit er mit dem anderen primitiven Typ multipliziert werden
kann. Wagen Sie doch einfach einmal den Versuch, die Operation so zu formulieren, als
wären beide Variablen primitive Datentypen. Schreiben Sie also
intc=a*b;
Sie werden feststellen, dass der Compiler ohne Fehlermeldung auch diese Schreibweise
akzeptiert. Das ist nicht ganz selbstverständlich, denn der Compiler formuliert im Hin-
tergrund die Operation so um, wie sie eigentlich formuliert werden müsste, und baut
den Aufruf von intValue ein. Dieser Vorgang wird als Autoboxing bezeichnet. Das
bedeutet letztendlich, dass primitive Datentypen und ihre zugehörigen Wrapper-
Objekte völlig kompatibel zueinander verwendet werden können. Deshalb funktionie-
Search WWH ::




Custom Search