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

Langage Java Discussion :

Programmation générique et itérateurs


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut Programmation générique et itérateurs
    hello,

    Je susi en train de passer mon code en java 1.6, et Eclipse me sort des avertissements pour que je passe du code en programmation générique.

    J'avais par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (Iterator iterator = paramInPivot.getAttributes().iterator(); iterator.hasNext();)
    J'ai rajouté un paramètre à la définition d'iterator :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (Iterator<Attribute> iterator = paramInPivot.getAttributes().iterator(); iterator.hasNext();)
    mais Eclipse dit que je dois encore intervenir sur la valeur d'affectation pour la rendre compatible. Je n'ai pas trouvé quoi faire...

    Merci pour votre aide.

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for(Attribute attribute : (Iterable<Attribute>) paramInPivot.getAttributes()) 
      ...

  3. #3
    Membre émérite Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Par défaut
    Que te renvoie paramInPivot.getAttributes() ?
    Si c'est une collection typée(Collection<Attribute>), avec ta modif, tout devrait rouler...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Citation Envoyé par Heimdal Voir le message
    Que te renvoie paramInPivot.getAttributes() ?
    Il renvoie une List non typée.
    Ca vient de JDOM, et je n'ai pas de contrôle dessus...

    Pill_S : Je en comprend rien à la syntaxe du début ?...

  5. #5
    Membre émérite Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Par défaut
    Depuis java5 on peut parcourir les listes de cette manière (boucle 'foreach'):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    List<Patate> patates = Patate.getAllPatates();
    for(Patate patate: patates) {
    patate.mangezMoi();
    }
    Cela dit ca ne change en rien ton problème.

    Dans ton cas soit:

    - tu ajoutes une annotation pour dire à ton IDE d'arrêter de t'emmerder avec ce warning et que tu garantis que cette liste est composé uniquement d'Attribute via:
    @SuppressWarnings("unchecked") devant ta méthode

    - soit tu parcours ta liste en considérant que ce sont des objets tu vérifies que chaque élément est bien une instance d'Attribut que tu ajoutes à ta liste typé.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Pour la seconde solution, cela signifie que je dois recréer une liste typée à partir de la liste non typée ?

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

Discussions similaires

  1. [Template] Question sur la programmation générique
    Par tlemcenvisit dans le forum C++
    Réponses: 4
    Dernier message: 03/11/2008, 11h51
  2. Sous-programmes génériques
    Par Tonio12 dans le forum Langages de programmation
    Réponses: 22
    Dernier message: 26/02/2007, 20h07
  3. [JDK-5.0]Programmation générique
    Par Bobo59 dans le forum Langage
    Réponses: 2
    Dernier message: 01/05/2005, 20h17
  4. [Programmation générique] template - iterator_traits
    Par Paul Atreide dans le forum Langage
    Réponses: 2
    Dernier message: 14/03/2005, 23h09

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