Java-richtiger Weg, um Objekt in Double umzuwandeln

10

Ich versuche zu finden, aber alles scheint vage. Ich muss Objekt o in Double konvertieren. Wird der korrekte Weg zuerst in String konvertiert? Danke.

    
user710818 21.09.2011, 17:17
quelle

7 Antworten

9

Sie können ein Objekt nicht in ein Double umwandeln, wenn das Objekt kein Double ist.

Sehen Sie sich die API an.

besonders beachten

valueOf(double d);

und

valueOf(String s);

Diese Methoden geben Ihnen die Möglichkeit, eine Double -Instanz von einem String oder einem doppelten Primitiv zu erhalten. (Auch nicht die Konstruktoren; lies die Dokumentation, um zu sehen, wie sie funktionieren) Das Objekt, das du zu konvertieren versuchst, muss dir natürlich etwas geben, das in ein Double umgewandelt werden kann.

Denken Sie daran, dass Double Instanzen unveränderlich sind - einmal erstellt, können Sie sie nicht ändern.

    
hvgotcodes 21.09.2011, 17:22
quelle
25
%Vor%

Aber es scheint mir komisch, dass Sie von einem Objekt zu einem Doppel gehen. Bevor Sie eine Conversion versuchen, sollten Sie eine bessere Vorstellung davon haben, mit welcher Objektklasse Sie beginnen. Möglicherweise haben Sie ein kleines Problem mit der Codequalität.

Beachten Sie, dass dies eine Konvertierung ist, keine Umwandlung.

    
RichW 21.09.2011 17:22
quelle
6

Sie können den instanceof-Operator verwenden, um vor dem Casting zu prüfen, ob es sich um ein Double handelt. Sie können es dann sicher zu einem Doppelten umwandeln. Darüber hinaus können Sie es mit anderen bekannten Typen (z. B. Integer) testen und diese dann bei Bedarf manuell in ein Double-Format konvertieren.

%Vor%     
Rontologist 21.09.2011 17:24
quelle
4

Wenn Ihr Objekt eine Zahl darstellt, zB eine Ganzzahl, können Sie es in eine Zahl umwandeln und dann die Methode doubleValue () aufrufen.

%Vor%     
Dave B 11.01.2017 05:10
quelle
2



Auch erwähnenswert: Wenn Sie gezwungen waren, eine ältere Java-Version vor Version 1.5 zu verwenden, und Sie Collections verwenden möchten, können Sie die Sammlung nicht mit einem Typ wie Double parametrisieren.

Sie müssen die <%> Box manuell in die Klasse Double einfügen, wenn Sie neue Elemente hinzufügen, und " auspacken " in das primitive double durch Parsing und Casting, doing etwas wie das:

%Vor%


Die Old-School-Liste enthält nur den Typ Object und muss daher in Double umgewandelt werden.

Außerdem ist es nicht möglich, die Liste in frühen Java-Versionen mit einer Enhanced-for-Loop zu durchlaufen - nur mit einer For-Schleife.

    
Ian Campbell 01.11.2013 17:25
quelle
1

In der Java-Version vor 1.7 können Sie kein Objekt in den primitiven Typ umwandeln

%Vor%

Sie können ein Objekt einfach in ein Double-Cast-Objekt umwandeln

%Vor%

Vorsicht, es kann eine ClassCastException auslösen, wenn es sich bei Ihrem Objekt nicht um ein Double handelt

    
Jarek Przygódzki 24.07.2013 07:15
quelle
0

Alle diese Methoden für die Konvertierung wurden versucht - & gt;

%Vor%     
Yash P Shah 13.12.2017 19:04
quelle

Tags und Links