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.
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.
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%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_INFINITYist wahr!
Tags und Links java autoboxing