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 :

Transmission - conversion de List


Sujet :

Langage Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 19
    Par défaut Transmission - conversion de List
    Bonjour!

    Je rencontre un problème suite à ma tentative de faire des classes assez génériques, visiblement passage obligé pour une programmation élégante...

    J'ai ce modèle à la base:
    Une classe B qui dérive de A,
    Une classe Liste qui contient une List d'objets B,
    Une classe Affichage qui travaille avec une List d'objets A.

    Je tente donc, au cours de mon programme, de transmettre la listeContenantDesB de Liste vers Affichage. J'ai donc prévu une méthode de Liste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public List<A> getListe(){
          return quelquechose;
    }
    Or je ne comprend pas comment renvoyer la liste sous la forme <A>.

    Et si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public List<A> getListe(){
          List<A> quelquechose=new List(listeContenantDesB)
         return quelquechose;
    }
    ça fonctionne à peu près, sauf que je voudrais que la liste transmise pointe vers la même liste (=que l'ajout ou le retrait d'un élément soit répercuté) alors qu'avec cette méthode c'est une copie qui est transmise (si je comprends bien). Avec des variables simples je m'en sort, mais avec les List... Car (avec L1 de type List<B>)
    est refusé.

    En gros, comment créer un L2 (type List<A>) qui pointe vers les mêmes objets que L1 (type List<B>). Et que donc une modification de L1 soit répercutée dans L2.

    En espérant ne pas être trop obscure, merci d'avance!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 21
    Par défaut
    Bonjour,

    Je ne pense pas que ce que tu cherches à faire soit possible avec les Generics.
    Si tu as une liste l'objet B (Lb) tu ne peux, selon moi, pas l'affecter à une liste d'objet A (La) même si B hérite de A.

    Car en faisant ça, tu pourrais autoriser l'ajout d'objets de type A dans la liste Lb ou encore des objets de type C (héritant de A). Or l'intérêt de la "généricité", c'est justement de n'autoriser qu'un seul type d'objet dans ta liste (ou des objets en héritant).

    J'avoue ne pas être familier avec cette notion, si je suis complètement à côté de la plaque, je suis sur que l'on hésitera pas à me contredire.

    Eric

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 19
    Par défaut
    Citation Envoyé par EricMoa Voir le message
    Car en faisant ça, tu pourrais autoriser l'ajout d'objets de type A dans la liste Lb ou encore des objets de type C (héritant de A).
    Effectivement, il y a là une bonne raison à cette limitation, à laquelle je n'avais pas pensé...
    Je vais chercher une autre manière de gérer ces listes. (dommage parce que à part pour ce problème, c'était pas mal comme ça)

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

Discussions similaires

  1. Conversion de List<double[]> vers double [][] ?
    Par mobi_bil dans le forum Langage
    Réponses: 6
    Dernier message: 18/03/2009, 13h19
  2. Réponses: 5
    Dernier message: 07/01/2009, 11h09
  3. regex : conversion bbcode [list] >> <ul>
    Par mrdindo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/12/2008, 15h42
  4. conversion de list en tableau
    Par robert_trudel dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 10/04/2008, 12h35
  5. conversion array -> liste déroulante
    Par john123 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 09/05/2007, 10h24

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