Giet Dubbel naar geheel getal in Java
Is er een manier om java.lang.Double
te casten naar java.lang.Integer
?
Het werpt een uitzondering
"java.lang.ClassCastException: java.lang.Double incompatible with java.lang.Integer"
335
3
Je moet de int waarde expliciet opvragen met de methode intValue() zoals dit:
Of
Een
Double
is geenInteger
, dus de cast zal niet werken. Let op het verschil tussen deDouble
klasse en deDouble
primitief. Merk ook op dat eenDouble
eenNumber
is, dus het heeft de methodeintValue
, die je kunt gebruiken om de waarde als een primitieveint
te krijgen.Double en Integer zijn wrapper classes voor Java primitieven voor respectievelijk double en int. Je kunt ertussen casten, maar dan verlies je de drijvende komma. Dat wil zeggen, 5.4 gegoten naar een int zal 5 zijn. Als je het terug cast, wordt het 5.0.