Détails
Transformation d'un double en nombre entier en Java
Y a-t-il un moyen de convertir java.lang.Double
en java.lang.Integer
?
Une exception est levée
"java.lang.ClassCastException : java.lang.Double incompatible avec java.lang.Integer" ;
335
3
Vous devez obtenir explicitement la valeur int en utilisant la méthode intValue() comme ceci :
Ou
Un
Double
n'est pas unInteger
, donc le cast ne fonctionnera pas. Notez la différence entre la classe deDouble
et la primitive deDouble
. Notez également qu'unDouble
est unNumber
, [il possède donc la méthode][1]intValue
, que vous pouvez utiliser pour obtenir la valeur en tant queint
primitif.[1] : http://docs.oracle.com/javase/6/docs/api/java/lang/Number.html#intValue%28%29
Double et Integer sont des classes enveloppantes pour les primitives Java pour double et int respectivement. Vous pouvez effectuer un cast entre ces deux classes, mais vous perdrez la virgule flottante. Ainsi, 5,4 converti en int sera 5. Si vous le castez à nouveau, il sera égal à 5.0.