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

avec Java Discussion :

Un peu de polymorphisme dans ce monde de brutes


Sujet :

avec Java

  1. #1
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut Un peu de polymorphisme dans ce monde de brutes
    Bonjour, j'ai un soucis de polymorphisme. Ci-dessous un exemple simplifié de ma situation.

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public interface I {
        Integer getValue();
    }

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class A implements I {
       public Integer getValue() {/*[...]*/}
       public static void f(List<I> l) {
          // [...]
          for (ListIterator<I> it = l.listIterator(); it.hasNext();)
                if (!it.next().getValue() > 1)
                    it.remove();
       }
    }

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class B implements I {
       public Integer getValue() {/*[...]*/}
    }

    Et dans mon main :
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    List<B> l;
    A.f(l);
    method f in A cannot be applied to given types
    required: java.util.List<I>
    found: java.util.List<A>


    C'est fâcheux ! Quelqu'un aurait-il une solution ? Merci de votre aide.
    -- Yankel Scialom

  2. #2
    Expert éminent sénior
    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
    Points : 48 807
    Points
    48 807
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static void f(List<? extends I> l)
    une List<A> n'est pas une List<I>, c'est par contre bien une List<? extensd I>

Discussions similaires

  1. Déplacement de caméra dans le monde
    Par korsakoff69 dans le forum DirectX
    Réponses: 9
    Dernier message: 08/09/2006, 11h31
  2. [Sondage] Pourquoi si peu de filles dans cette filière ?
    Par doudoustephane dans le forum La taverne du Club : Humour et divers
    Réponses: 411
    Dernier message: 20/07/2006, 21h17
  3. Réponses: 2
    Dernier message: 27/06/2006, 18h09
  4. visionner une page web dans un monde 3D
    Par chabfive dans le forum 3D
    Réponses: 3
    Dernier message: 19/06/2006, 14h12
  5. Réponses: 5
    Dernier message: 22/08/2005, 16h48

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