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 :

Conversion de Vector<Object> générique en Vector<TypeParticulier>


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 60
    Par défaut Conversion de Vector<Object> générique en Vector<TypeParticulier>
    Bonjour,

    Dans le cadre de la migration de mon projet vers Java 5, je suis en train d'introduire le polymorphisme paramétrique (<>, templates) pour mieux définir mes types.
    Dans un cas particulier d'utilisation avec la classe Vector, je bute sur un problème lié à l'héritage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class ClasseMere {
    ...
      public ClasseMere(Vector<Object> data) {
    ...
    }
     
    public class ClasseFille extends ClasseMere {
    ...
      public ClasseFille(Vector<TypeParticulier> data) {
        super(data);
    ...
    }
    Je pensais que la conversion Vector<Object> en Vector<TypeParticulier> allait se faire d'une façon automatique car ClasseFille dérive de ClasseMere (mais surtout TypeParticulier dérive de Object).
    Merci de m'aider à résoudre cette erreur de compil'.

    Yelbied

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Les génériques ne sont pas mon fort, mais je ne crois pas me tromper en corrigeant ton bout de code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class ClasseMere<T extends Object> {
    ...
      public ClasseMere(Vector<T> data) {
    ...
    }
     
    public class ClasseFille extends ClasseMere<TypeParticulier> {
    ...
      public ClasseFille(Vector<TypeParticulier> data) {
        super(data);
    ...
    }

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 60
    Par défaut
    Génial, ça marche!
    Je ne pensais pas que les templates pouvaient exprimer des choses aussi puissantes.
    Merci beaucoup,

    Yelbied

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

Discussions similaires

  1. probleme avec vector d'object
    Par johncrom dans le forum C++
    Réponses: 6
    Dernier message: 20/05/2009, 13h31
  2. vector d'object struct de taille variable
    Par melleb dans le forum C++
    Réponses: 10
    Dernier message: 18/05/2009, 18h21
  3. Conversion of Access OLE Object into field BLOB of Oracle Table
    Par Pierre Letiexhe dans le forum Oracle
    Réponses: 0
    Dernier message: 04/02/2008, 16h59
  4. Pb avec vector<? extends Object>
    Par beuhnoix dans le forum Langage
    Réponses: 9
    Dernier message: 29/01/2008, 15h54
  5. [C#] Conversion implicite de type object vers int
    Par alexking2005 dans le forum C#
    Réponses: 5
    Dernier message: 02/01/2007, 11h02

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