Accéder à une méthode dans un ArrayList [Résolu]

Signaler
Messages postés
12
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
1 décembre 2005
-
Messages postés
12
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
1 décembre 2005
-
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

Messages postés
492
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
16 mai 2007
11
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++
Messages postés
12
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
1 décembre 2005

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!
Messages postés
12
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
1 décembre 2005

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