Accéder à une méthode dans un ArrayList

Résolu
cs_Hades5k Messages postés 12 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 1 décembre 2005 - 23 oct. 2005 à 21:37
cs_Hades5k Messages postés 12 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 1 décembre 2005 - 24 oct. 2005 à 06:49
Bonjour, j'ai une classe qui s'appelle CPays et qui ne possède qu'une seule fonction "public void afficherInfo()".

Je crée plusieurs objets de type Pays et je les ajoutes à un ArrayList. Une fois que tous les ajouts sont terminés, je veux afficher les informations de chacunes des entrées.

C'est tout simple non? Pourtant, je ne suis pas capable d'y arriver!

Comment je pourrais traduire le pseudo-code suivant :

Pour chaque Pays dans le ArrayList
Appeller la méthode afficherInfo de ce Pays

Ceci ne fonctionne pas :
for(int i = 0; i < arrPays.size(); i++){
Object o = arrPays.get(i);
o.showInfo();
}

et pleins d'autre trucs...

Merci!

3 réponses

scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
23 oct. 2005 à 23:26
salut
je crois que tu dois faire ainsi :
for(int i = 0; i < arrPays.size(); i++) {
CPays cp = (CPays) arrPays.get(i);
cp.showInfo();
}
essaie ca et dis moi si ca marche
voila
a++
3
cs_Hades5k Messages postés 12 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 1 décembre 2005
24 oct. 2005 à 06:32
J'ai trouvé la réponse peu après avoir posté le message, c'est exactement ce que j'ai essayé et tout fonctionne parfaitement.

Merci!
0
cs_Hades5k Messages postés 12 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 1 décembre 2005
24 oct. 2005 à 06:49
Pour en ajouter un peu plus, si on utilise la jre 1.5, on peut faire comme ceci :

List<maClasse> maVar = new ArrayList();

for(int i = 0; i < maVar.size(); i++) {
maVar.get(i).maMethode(); // sans devoir caster
}

ou en utilisant un itérateur : )
0
Rejoignez-nous