Helmichs Informatik-Lexikon

Double (Klasse)

Die Klasse Double ist eine sogenannte Wrapper-Klasse, die den primitiven Datentyp double umhüllt. Die wichtigsten Methoden dieser Klasse sollten den Abiturienten in NRW bekannt sein, zumindest laut den offiziellen "Materialien zu den zentralen Abiturprüfungen im Fach Informatik ab 2012".

Attribute

Nach dem Grundsatz der Datenkapselung interessieren uns die Attribute der Wrapper-Klasse hier nicht!

Konstruktor(en)

Es gibt zwei Konstruktoren der Klasse Double:

Konstruktor 1
Double (double value)

Das ist der einfachste Konstruktor, mit dem man eine Variable des primitiven Datentyps double in ein Objekt der Klasse Double Double kann. Hier ein simples Anwendungsbeispiel:

Double Pi = new Double(3.14159);

In Java 5.0 kann man allerdings auch wesentlich einfacher schreiben:

Double Pi = 3.14159;

Dieses neue Feature wird Autoboxing genannt. Auf den Konstruktor muss dazu nicht mehr zugegriffen werden.

Autoboxing

Auf dieser externen Webseite ist sehr schön und vor allem kompakt erklärt, was es mit dem Autoboxing und dem Autounboxing auf sich hat.

Konstruktor 2

Der zweite Konstruktor nimmt einen String als Argument entgegen:

Double (String s)

Hier auch ein kleines Beispiel:

Double Pi = new Double("3.14159");

Wenn der String von der Syntax her keine double-Zahl ist, wird ein Laufzeitfehler gemeldet. Das ist zum Beispiel der Fall, wenn statt des Dezimal-Punktes ein Dezimal-Komma verwendet wurde.

Ein Autoboxing mit dem String "3.14159" ist nicht möglich; hier meldet der Compiler einen Fehler.

Double Pi = "3.14159" // Compiler meldet Fehler

Methoden

double doubleValue()

Diese Methode liefert den primitiven double-Wert des Double-Objektes zurück.

int intValue()

Diese Methode liefert den primitiven int-Wert des Double-Objektes zurück. Hier ein Beispiel:

double x = new Double("3.94159");
int y = Pi.intValue();

Achtung: Es wird nicht gerundet, sondern der Nachkommateil wird einfach nur abgeschnitten. Die int-Variable y hat jetzt den Wert 3, und nicht den Wert 4.

boolean isNaN()

Diese Methode liefert true zurück, wenn der Wert des Double-Objektes KEINE double-Zahl ist. NaN steht für "not a number".

static double parseDouble(String s)

Diese Methode wandelt einen String - falls er vom Format her einer double-Zahl entspricht - in eine echte primitive double-Zahl um. Diese Methode ist sehr nützlich, wenn man beispielsweise ein TextField auslesen und den eingetippten Text in einer double-Zahl konvertieren will. Hier ein Beispiel:

double d = Double.parseDouble(eingabe.getText());

Da die Methode eine statische ist, kann man sie aufrufen, ohne dass man vorher ein Objekt der Klasse Double erzeugen muss.

static String toString(double d)

Diese Methode wandelt den Wert einer primitiven double-Variable in einen String um. Es ist quasi die Umkehrmethode von parseDouble(String s). Auch diese Methode ist statisch, kann also recht einfach benutzt werden, ohne dass man vorher ein Objekt der Klasse Double erzeugen muss.