En el siguiente programa, el resultado es que 0.0
se considera menor que Double.MIN_VALUE
. ¿Por qué?¿Por qué falla el autoboxing/unboxing aquí?
Tenemos una solución (solo trabajamos con Doubles
y utilizamos compareTo
) y quiero entender por qué unboxing está fallando aquí.
import java.util.Date;
import java.util.Calendar;
import java.math.BigDecimal;
public class Test {
public static void main(String[] args) {
double max = 99999.9999;
double min = Double.MIN_VALUE;
Double test = 0.0;
System.out.println(max > test); // expect true; is true
System.out.println(test > min); // expect true; is false
}
}
Vamos a agregar un enlace a una pregunta SO anterior que tiene una respuesta excelente de @aioobe. IMO Sun debería haber llamado a esta constante algo más intuitivo, pero esa nave ha navegado. http://stackoverflow.com/questions/3884793/minimum-values-and-double-min-value-in-java – Perception