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 :

comment résoudre les erreurs de généricité?


Sujet :

Langage Java

  1. #1
    Membre confirmé Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Points : 465
    Points
    465
    Par défaut comment résoudre les erreurs de généricité?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SoftCacheManager.java:200: warning: [unchecked] unchecked call to SoftReference(T,java.lang.ref.ReferenceQueue<? super T>) as a member of the raw type java.lang.ref.SoftReference
    spécifiquement cette erreur.... j'appelle super(k, q); k est un Object; q une ReferenceQueue<SoftValue>
    Mais l'erreur ne disparait pas du compilateur, pourquoi?


  2. #2
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par broumbroum
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SoftCacheManager.java:200: warning: [unchecked] unchecked call to SoftReference(T,java.lang.ref.ReferenceQueue<? super T>) as a member of the raw type java.lang.ref.SoftReference
    spécifiquement cette erreur.... j'appelle super(k, q); k est un Object; q une ReferenceQueue<SoftValue>
    Mais l'erreur ne disparait pas du compilateur, pourquoi?

    Montre le code qui génère ce warning

  3. #3
    Membre confirmé Avatar de spekal
    Inscrit en
    Mai 2005
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 502
    Points : 510
    Points
    510
    Par défaut
    Je pense qu'il faudrait que k soit une SoftValue, et non pas un Object.

    Edit : heu... pardon, à la reflexion, ce n'est pas si évident, puisque le ? doit simplement être un super de T... Bon, comme le dit ®om, si tu pouvais nous montrer un bout de code ?

  4. #4
    Membre confirmé Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Points : 465
    Points
    465
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        class SoftValue extends SoftReference {
            final Object key; // always make data member final
            /** Did you know that an outer class can access private data
             * members and methods of an inner class?  I didn't know that!
             * I thought it was only the inner class who could access the
             * outer class's private information.  An outer class can also
             * access private members of an inner class inside its inner
             * class. */
            SoftValue(Object k, Object key, ReferenceQueue<? extends Reference> q) {
                super(k, q);
                this.key = key;
            }
        }
    Mais bon ce n'est qu'un warning, pas de souci grave ici... merci

  5. #5
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        class SoftValue extends SoftReference<Object> {
            final Object key; // always make data member final
            /** Did you know that an outer class can access private data
             * members and methods of an inner class?  I didn't know that!
             * I thought it was only the inner class who could access the
             * outer class's private information.  An outer class can also
             * access private members of an inner class inside its inner
             * class. */
            SoftValue(Object k, Object key, ReferenceQueue<? extends Reference> q) {
                super(k, q);
                this.key = key;
            }
        }
    Tu peux mettre autre chose que Object, mais il faut mettre le même type que k (ou alors tu paramétrise SoftValue)...

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

Discussions similaires

  1. Comment résoudre les erreurs "Event viewer"
    Par flo456 dans le forum Windows Serveur
    Réponses: 12
    Dernier message: 18/04/2007, 10h25
  2. [pgAdminIII] Comment ignorer les erreurs de script
    Par Escandil dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 22/07/2005, 12h03
  3. [SAX] Comment gerer les erreurs soulevés par sax
    Par tipaquo dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 03/07/2005, 12h00
  4. [ODP][TAF]Comment résoudre l'erreur TNS-12152 ?
    Par Laurent Dardenne dans le forum Oracle
    Réponses: 2
    Dernier message: 21/04/2005, 19h10
  5. [web] comment afficher les erreur d'un cgi
    Par chtiboss dans le forum Web
    Réponses: 6
    Dernier message: 24/12/2003, 11h22

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