IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Problèmes de liste


Sujet :

Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Par défaut Problèmes de liste
    Bonjour à tous
    je suis nouveau sur le forum et je débute en java. Je suis habitué à Python et j'ai un peu de mal à faire la transition ;-)
    Voilà mon problème : j'ai une liste d'instances (de classes différentes) que je parcours, jusqu'ici tout va bien. Mais j'aimerais, pour chaque élément, lancer une méthode. En gros, j'ai fais un truc comme ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Iterator iter = this.maListe.iterator();
    while(iter.hasNext()) {
     Object element = iter.next();
     element.methodeDeLelement()
    }
    ça visiblement, c'est interdit... (ligne 4 !) J'ai un peu fouillé du côté de la classe .Class mais j'ai pas vraiment trouvé mon bonheur.
    Quelqu'un peut m'aider ?
    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Si les instances sont de classes différentes, qu'est-ce qui te permet de conclure que la méthode existe?

    Le compilateur, lui, ne peux rien conclure si tu ne l'aide pas.

    Soit toutes tes classes concernées implémentent une même interface contenant ladite méthode, alors tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Iterator iter = this.maListe.iterator();
    while(iter.hasNext()) {
     InterfaceElement element = (InterfaceElement)iter.next();
     element.methodeDeLelement()
    }
    Soit il existe quelque classes seulement possible dans ta liste, alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Iterator iter = this.maListe.iterator();
    while(iter.hasNext()) {
     Object element = iter.next();
     if (element instanceof Machin)
        ((Machin)element).methodeDeMachin();
     else if (element instanceof Truc)
        ((Truc)element).methodeDeTruc();
    }
    Soit c'est du quelconque et alors ce que tu veux faire n'a aucun sens.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Par défaut
    Les classes concernées implémentent une même interface. Merci

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Si il s'agit d'une interface commune, je vous rajoute ceci, pour se faciliter la vie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    List<MonElement> mesElements =truc.recupererListElement();
    for (MonElement e : mesElements)
       e.uneMethodeDeElement();

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Problème de liste déroulante dynamique
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 03/03/2006, 16h38
  2. Problème de liste déroulante et js...
    Par Empty_body dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/03/2006, 10h44
  3. [MySQL] Problème de listes déroulantes liées avec requêtes sql
    Par richton95 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/12/2005, 16h04
  4. Problème avec liste déroulante
    Par Invité dans le forum IHM
    Réponses: 2
    Dernier message: 14/12/2005, 21h04
  5. Problème avec listes liées entre elles et bouton "précé
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/08/2005, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo