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 :

Pb de classe generique


Sujet :

Langage Java

  1. #1
    Membre actif Avatar de MicroPuce
    Inscrit en
    Mai 2004
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 262
    Points : 212
    Points
    212
    Par défaut Pb de classe generique
    Salut,
    J'utilise java5 avec des java.util.set et j'ai un warning dans Eclipse que je ne comprends pas
    J'ai un objet lignes (Set) qui contient un ensemble de Hashtable (composée d'un article et d'une quantité).
    V'là mon code (simplifié ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Set<Hashtable> lignes = new HashSet<Hashtable>();
    Hashtable<String,Object> ligne =new Hashtable<String,Object>(2);
    //je crée une ligne :
    ligne.put ("article", new Article());
    ligne.put ("qte", 1);
    // je met la ligne dans le Set :
    lignes.add (ligne);
    // je veux parcourir le Set:
    Iterator<Hashtable> iter = lignes.iterator();
    while (iter.hasNext()){
       ligne = (Hashtable)iter.next();//là, Eclipse me dit :
    "Type safety: The expression of type Hashtable needs unchecked conversion 
    to conform to  Hashtable<String,Object>"
       ...
    }
    J'ai aussi essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ligne = (Hashtable<String,Object>)iter.next();
    Et là, j'obtiens :"Type safety: The cast from Hashtable to Hashtable<String,Object> is actually checking against the erased type Hashtable".
    C'est pas bloquant puisque ça compile mais je voudrais comprendre
    A pluche...

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Points : 635
    Points
    635
    Par défaut
    Tu peux remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set<Hashtable> lignes = new HashSet<Hashtable>();
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set<Hashtable<String,Object>> lignes = new HashSet<Hashtable<String,Object>>();
    Pour dire que dans ton HashSet il y a des HashTable qui mappent des String sur des Object (ouf !)

  3. #3
    Membre actif Avatar de MicroPuce
    Inscrit en
    Mai 2004
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 262
    Points : 212
    Points
    212
    Par défaut
    Nickel, ça marche!!!
    Merci the-gtm

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

Discussions similaires

  1. Eclipse UML & classes generique & XMI
    Par bruno_pages dans le forum Autres
    Réponses: 3
    Dernier message: 18/03/2010, 09h30
  2. Cast dynamique dans class generique
    Par topolino dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/03/2009, 16h21
  3. Classe generique java
    Par keub51 dans le forum Langage
    Réponses: 1
    Dernier message: 07/09/2007, 09h11
  4. creer une class generique factory
    Par Battosaiii dans le forum Langage
    Réponses: 1
    Dernier message: 26/07/2007, 13h56
  5. affectation de classes generiques
    Par Mehdi Feki dans le forum C++
    Réponses: 16
    Dernier message: 12/03/2005, 16h05

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