Unterschied: Double.valueOf() und Double.parseDouble()

Status
Nicht offen für weitere Antworten.

moloch

Bekanntes Mitglied
Hallo,
Kann mir jemand den Unterschied nennen zwischen diesen beiden Methoden. machen doch das gleich oder?

Double.valueOf() und Double.parseDouble()

grüße
 
Das ist der Unterschied

Java:
public static Double valueOf(String s) throws NumberFormatException {
	return new Double(FloatingDecimal.readJavaFormatString(s).doubleValue());
}

Java:
public static double parseDouble(String s) throws NumberFormatException {
	return FloatingDecimal.readJavaFormatString(s).doubleValue();
}

erstere gibt einen Double zurück, letztere einen double.
 
ok danke erstmal für die antworten.
da ich aber ein anfänger bin läuft für mich beides auf das gleiche ergebnis hinaus.. also könntet ihr mir sagen
wann ich was verwenden sollte bitte
 
Double = Wrapper für double.. eine eigene Klasse, von der du Objekte bauen kannst und die Funktionen hat

double= primitiver Datentyp, hat keine Funktionen und wird nicht instanziiert.

Wichtig ist das hier eigentlich nicht, aber wenn du ein Double weitergibst hat der andere eine Referenz auf dein Objekt, und kann es damit verändern.
Java:
Double b = new Double(10.5);
double c = 10.5;
gibDoubleAnAndere(b);
gibDoubleAnAndere(c);
//warte
System.out.println(b); // b kann von anderen verändert werden, es wird also nicht zwingend 10.5 ausgegeben
System.out.println(c); //10.5 wird ausgegeben, egal was andere damit anstellen
Für weitere Informationen such mal nach "call-by-value" und "call-by-reference"

In deinem Fall ist es erstmal egal, da du ja ein "neues" Double bekommst, also kannst du keinem anderen die Werte verdrehen 😉
 
Double ist immutable, kann also wie double nicht verändert werden. Das "Verdrehen" würde z.B. mit einem Date funktioneren.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben