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 wert;
Betrachten Sie jetzt die Anweisung,
die die Zeichen in einen double-Datentyp
konvertiert und das Ergebnis in wert
hineinstellt:
wert = 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 wert kopiert.Dies 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.