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 :

[JDK-5.0]Programmation générique


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 17
    Points : 18
    Points
    18
    Par défaut [JDK-5.0]Programmation générique
    Je débute avec les generics... et je bute sur un pb

    Le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public interface Numberable extends Comparable {
       public int getNumber();
       public void setNumber(int number);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public static int getFreeNumber(List<Numberable> list) {
       Collections.sort(list);
     
       ...
    }
    Eclipse bute sur le sort() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Bound mismatch: The generic method sort(List<T>) of type Collections is not applicable for the 
     arguments (List<Numberable>) since the type Numberable is not a valid substitute for the bounded 
     parameter <T extends Comparable<? super T>>
    Il a pas l'aire de comprendre que ma liste contient des objets implementant l'interface Comparable : il doit y avoir un pb de comunication entre le compilateur et moi

    Puis faire un cast pour lui forcer la main ? Apparement non, mais je mis suis peut être mal pris.

    Où est mon erreur ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Points : 475
    Points
    475
    Par défaut
    Et en lui donnant ce que le message demande, à savoir un Numberable de la forme :
    T extends Comparable<? super T>
    ?

    C'est-à-dire, concrètement, avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    interface Numberable extends Comparable<Numberable>
    ?

    Nicolas

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 17
    Points : 18
    Points
    18
    Par défaut


    maintenant ça marche !

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

Discussions similaires

  1. Réponses: 29
    Dernier message: 20/09/2009, 07h27
  2. [Template] Question sur la programmation générique
    Par tlemcenvisit dans le forum C++
    Réponses: 4
    Dernier message: 03/11/2008, 12h51
  3. Sous-programmes génériques
    Par Tonio12 dans le forum Langages de programmation
    Réponses: 22
    Dernier message: 26/02/2007, 21h07
  4. [Programmation générique] template - iterator_traits
    Par Paul Atreide dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2005, 00h09

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