2017-12-18 4 views
-3

Was ist die korrekte Definition von Doppelvariablen und warum?definieren Sie doppelte Variable in einer korrekten Art und Weise

public static final double SCORE = 1; 

ODER

public static final double SCORE = 1.0; 

Dank

+6

macht keinen Unterschied – Lino

+0

Es gibt keinen richtigen Weg, beide sind in Ordnung und haben das gleiche Verhalten. – Dici

+2

Haben Sie versucht, eines zu kompilieren? Was wäre einfacher - es selbst ausprobieren oder diese Frage stellen? – rgettman

Antwort

0

Es gibt keinen besseren gegeben Ansatz die beiden Beispiele gezeigt, aber es gibt einen feinen Unterschied, die wahrscheinlich keine Rolle spielt, ob man kennt oder nicht.

Diese subtile Unterschied ist, dass das erste Beispiel aus ganze Zahl ist verbreitert, während die zweite zu verdoppeln gibt es keine Verbreiterung.

Wie von Andreas in den Kommentaren vorgeschlagen, ist es wichtig zu beachten, dass dies zur Kompilierungszeit und nicht zur Laufzeit erfolgt und somit keinerlei Auswirkungen auf die generierte Code- und Laufzeitleistung hat. Daher können Sie mit dem von Ihnen gewünschten Ansatz fortfahren.

+2

Aber die Erweiterung wird vom Compiler ausgeführt, nicht die JVM-Laufzeit, also ist der generierte Code * genau * gleich. – Andreas

+0

@Andreas stimme völlig mit Ihnen überein, gibt es einen bestimmten Teil meiner Antwort, die irreführend ist? Wenn ja, schlagen Sie bitte vor, welchen Teil davon. Vielen Dank. –

+0

Nur, dass Sie nicht klargestellt haben, dass dies zur Kompilierungszeit und nicht zur Laufzeit erfolgt, und hat daher keinerlei Auswirkungen auf die generierte Code- und Laufzeitleistung. Als "subtiler Unterschied" ist es nur ein Unterschied zum Programmierer, nicht zur JVM. – Andreas

Verwandte Themen