Würde
final String CHARDATEN = 3.14159265;
funktionieren?
Nein. CHARDATEN
ist ein Objekt vom Typ String
und 3.14159265 (ohne Anführungszeichen)
ist ein Literal vom primitiven Typ double
.
Diese Datentypen verwenden Bitmuster auf völlig verschiedene Weise.
Eine einfache Anweisung, die den einen Typ dem anderen zuweist, funktioniert nicht.
In dem Programm sind die Zeichen "3.14159265" in dem
String CHARDATEN
enthalten.
final String CHARDATEN = "3.14159265"; double zahl;
Betrachten Sie jetzt die Anweisung,
die die Zeichen in einen double
-Datentyp
konvertiert und das Ergebnis in zahl
hineinstellt:
zahl = Double.parseDouble( CHARDATEN ) ;
Die Zuweisungsanweisung funktioniert in zwei Schritten:
parseDouble()
Methode der Klasse Double
betrachtet die Zeichen und erzeugt einen double
-Wert.double
-Wert wird in die
Variable zahl
kopiert.Das wird üblicherweise Konvertieren von Character-Daten in Gleitpunkt-Daten mit doppelter Genauigkeit genannt. Aber die Character-Daten wurden nicht geändert. Ein Gleitpunkt-Wert wurde aus ihnen berechnet und der Wert wurde an eine andere Stelle kopiert.