J'utilise une méthode pour obtenir des données d'une base de données et stockez-la dans un vecteur. La méthode renvoie toujours un vecteur d'objets où le type de données d'objet peut être une date, une double ou une chaîne. Dans mon cas, je sais que je reçois un double, mais je veux le convertir en int. Y a-t-il un moyen plus simple que:
System.out.println((Integer)vector1.get(1)); // java.lang.ClassCastException: java.lang.Double incompatible with java.lang.Integer System.out.println((int)vector1.get(1));
3 Réponses :
Vous pouvez utiliser IntValue () pour obtenir la valeur INT.
Double b = new Double((double)vector1.get(1)); int value = b.intValue();
"Impossible de lancer de l'objet à Double" - erreur i.imgur.com/tlmlpog.png
J'ai déjà testé cela. Ça marche pour moi. Vecteur
Vous pouvez utiliser Math.Round (Double) pour obtenir la valeur INT. Comme p>
double d = double.parsedouble (vector1.get (1)); p>
int v = (int) math.round (d); p>
Suivre ce Répondre , nous pouvons transformer le code en
vector1.stream().mapToInt(Double::intValue).mapToObj(Integer::new).collect(Collectors.toList());