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 :

Appel de '.class' sur un type générique


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Par défaut Appel de '.class' sur un type générique
    Bonjour,

    J'ai un type générique ModelListener<T> que je voudrais mocker avec EasyMock en spécifiant le type 'T' à 'Guest'.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ModelListener<Guest> mockListener = EasyMock.createStrictMock(ModelListener<Guest>.class);
    Or, il n'est à priori pas possible d'appeler '.class' sur ce genre de classes.

    A savoir que la solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ModelListener<Guest> mockListener = EasyMock.createStrictMock(ModelListener.class);
    fonctionne (les tests passent) mais me met le warning "Type safety: The expression of type ModelListener needs unchecked conversion to conform to ModelListener<Guest>"

    Comment puis-je contourner ce problème ?

    Merci

  2. #2
    Membre éclairé
    Profil pro
    Architecte logiciel
    Inscrit en
    Janvier 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 28
    Par défaut
    effectivement, cela ne s'ecrit pas car c'est bien la meme classe : le template est juste de la deco.


    pour resoudre le warning tu peux mettre une annotation tel que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     @SuppressWarnings("rawtypes")
    ModelListener<Guest> mockListener = EasyMock.createStrictMock(ModelListener.class);

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Cela ne résout pas le warning, cela le cache. Ce serait comme éteindre l'alerte d'un incendie et dire qu'on a résolu le problème : le feu est toujours là.

    N'ayant pas l'habitude de EasyMock, je ne sais pas s'il y a une manière prévue de résoudre ça.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Cast sur un type générique
    Par debloc dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 31/10/2012, 22h23
  2. [C#] Problème de Cast sur un type générique
    Par Bobbledople dans le forum C#
    Réponses: 2
    Dernier message: 10/06/2009, 11h04
  3. Récupérer la classe d'un type générique
    Par Asterius dans le forum Langage
    Réponses: 7
    Dernier message: 21/11/2008, 08h45
  4. réflexion sur des types génériques
    Par ziad.shady dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 06/06/2008, 12h25
  5. Réponses: 2
    Dernier message: 09/05/2006, 12h30

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