ArrayList - JAVA
Résolu/Fermé
Tsquare
Messages postés
25
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
2 mai 2017
-
26 déc. 2008 à 10:21
Tsquare Messages postés 25 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 2 mai 2017 - 26 déc. 2008 à 17:33
Tsquare Messages postés 25 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 2 mai 2017 - 26 déc. 2008 à 17:33
A voir également:
- ArrayList - JAVA
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Jeux java itel 5360 - Forum Mobile
- Java apk - Télécharger - Langages
- Jeux java itel touche ✓ - Forum Logiciels
3 réponses
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
26 déc. 2008 à 17:28
26 déc. 2008 à 17:28
Essaye peut-être d'utiliser le "instanceof" pour tester si ton objet est bien de type ArrayList.
public class InstanceOfExample { public static java.util.Scanner scanner = new java.util.Scanner(System.in); public static void main(String[] args) { String testeur = "bonjour"; // vérifions si ma variable testeur est un String // testeur est bien de type String if(testeur instanceof String) System.out.println("testeur == String"); else System.out.println("testeur != String"); // vérifions maintenant si ma variable scanner est un String // le scanner est de type Scanner et donc n'est pas un String if(scanner instanceof String) System.out.println("scanner == String"); else System.out.println("scanner != String"); } }
Visiblement le variable 'test' n'est pas du type 'ArrayList'. Par autre, si tu utilise toujours le variable 'test' comme ArrayTest, pourquoi ne le declare-tu comme tel dans la signature de la fonction? Tu n'aurais pas besoin de le "caster" a chaque fois quand tu l'utilise...
Tsquare
Messages postés
25
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
2 mai 2017
26 déc. 2008 à 10:43
26 déc. 2008 à 10:43
import java.util.ArrayList; public class fonction { public static ArrayList aplatir (ArrayList test){ ArrayList resultat_final = new ArrayList(); for (int i = 0; i< test.size();i++) { if ( ((ArrayList) test.get(i)).size()>1) {aplatir( (ArrayList) test).get(i);} else {resultat_final.add(((ArrayList) test).get(i));} } System.out.println(resultat_final); return resultat_final; } }
En déclarant la variable test en ArrayList sa donne ça mais le problème demeure...
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
26 déc. 2008 à 11:28
26 déc. 2008 à 11:28
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.util.ArrayList
Tu essaye de convertir un entier (Integer) en une ArrayList
Exemple pour avoir la même erreur :
Si tu ne vois pas ce qui pourrait contenir un entier dans ton code et que tu caste en ArrayList, fait un debug Step by Step ou alors met des points d'arrêts dans ton code pour voir ce que valent tes variables a différents moments de l'éxecution.
Tu essaye de convertir un entier (Integer) en une ArrayList
Exemple pour avoir la même erreur :
import java.util.ArrayList; public class test { public static void main(String[] args) { ArrayList monTest = new ArrayList(); monTest.add(1); System.out.println(monTest); // Jusque ici tout vas bien, normal ! // Si je fait (ArrayList)1 ça ne compilera pas // Donc on va faire passer notre Integer par // Un Object plus générique sur lequel on // Peut appliquer un Cast (ArrayList) Object monObjet = new Integer(4); monTest = (ArrayList)monObjet; // Ca compile, mais erreur à l'execution : /* Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.util.ArrayList at test.main(test.java:11) */ } }
Si tu ne vois pas ce qui pourrait contenir un entier dans ton code et que tu caste en ArrayList, fait un debug Step by Step ou alors met des points d'arrêts dans ton code pour voir ce que valent tes variables a différents moments de l'éxecution.
Tsquare
Messages postés
25
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
2 mai 2017
26 déc. 2008 à 17:23
26 déc. 2008 à 17:23
En fait c'est au niveau de mon if que sa coince parceque mon (ArrayList) test.get(i)
n'est pas forcément un ArrayList mais je ne vois pas comment faire autrement.
Merci.
n'est pas forcément un ArrayList mais je ne vois pas comment faire autrement.
Merci.
26 déc. 2008 à 17:33