Warum schlägt das Autoboxing / Unboxing hier fehl?

7

Im folgenden Programm wird 0.0 als kleiner als Double.MIN_VALUE angesehen. Warum?

Wir haben eine Lösung (arbeiten nur mit Doubles und verwenden compareTo ) und ich möchte verstehen, warum das Unboxing hier fehlschlägt.

%Vor%     
Chip McCormick 23.07.2011, 13:05
quelle

4 Antworten

11

Nach den Javadocs :

  

MIN_VALUE

     

Eine Konstante, die den kleinsten positiven Nicht-Null-Wert des Typs double, 2 -1074 , enthält.

Mit anderen Worten, es ist größer als 0.

    
Nico Huysamen 23.07.2011, 13:08
quelle
5

Sie sollten die Double.MIN_VALUE Spezifikation lesen. Es ist ein minimal möglicher aber positiver Doppelwert, was bedeutet, dass es größer als 0.0 ist.

%Vor%     
user802421 23.07.2011 13:09
quelle
2

Double.MIN_VALUE = 4.9E-324 was immer noch eine positive Zahl ist. Ich denke du suchst min = - Double.MAX_VALUE

    
Eng.Fouad 23.07.2011 13:13
quelle
2

Laut mir hat Autoboxing keine Probleme. Vielleicht müssen Sie einfach etwas wie Double.NEGATIVE_INFINITY oder Double.POSITIVE_INFINITY verwenden, das gut mit & lt; und & gt; Betreiber. Beachten Sie beispielsweise, dass

-Double.MAX_VALUE > Double.NEGATIVE_INFINITY
ist wahr!     
Plap 23.07.2011 13:23
quelle

Tags und Links