0
votes

Obtenir int du vecteur d'objets

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));


0 commentaires

3 Réponses :


0
votes

Vous pouvez utiliser IntValue () pour obtenir la valeur INT.

Double b = new Double((double)vector1.get(1));   
int value = b.intValue(); 


2 commentaires

"Impossible de lancer de l'objet à Double" - erreur i.imgur.com/tlmlpog.png


J'ai déjà testé cela. Ça marche pour moi. Vecteur objvecteur = nouveau vecteur (10); objvector.add (nouveau double (1.5)); Double b1 = nouveau double ((double) objvector.get (0)); valeur int = b1.Intvalue (); System.out.println (valeur);



0
votes

Vous pouvez utiliser Math.Round (Double) pour obtenir la valeur INT. Comme

double d = double.parsedouble (vector1.get (1));

int v = (int) math.round (d);


0 commentaires

0
votes

Suivre ce Répondre , nous pouvons transformer le code en

vector1.stream().mapToInt(Double::intValue).mapToObj(Integer::new).collect(Collectors.toList());


0 commentaires