¿Hay alguna forma de convertir java.lang.Double
en java.lang.Integer
?
Lanza una excepción
java.lang.ClassCastException: java.lang.Double incompatible con java.lang.Integer"
Un Double
no es un Integer
, por lo que el reparto no funcionará. Fíjate en la diferencia entre la clase Double
y la primitiva double
. Ten en cuenta también que un Double
es un Number
, por lo que tiene el método intValue
, que puedes usar para obtener el valor como un int
primitivo.
Double e Integer son clases que envuelven las primitivas de Java para double e int respectivamente. Se puede hacer un casting entre ellas, pero se perderá el punto flotante. Es decir, 5.4 convertido en un int será 5. Si lo vuelves a convertir, será 5.0.