Envoyé par
thelvin
Ridicule.
- Aucun contournement n'est nécessaire dans le cas que tu sembles nous décrire, et même si c'est un autre cas, les contournements sont rarement nécessaires.
- Nous nous fichons de la logique métier. Pour voir ce qui ne va pas avec ton code, on doit savoir comment sont déclarées les deux classes, pour vérifier laquelle hérite de l'autre, et voir comment tu essaies de les mettre dans/récupérer de la Map. Le reste est sans importance.
Comme tu veux, mais je tiens à signaler pour les générations futures, que tout cela n'est pas un modèle à suivre.
Comme ce n'est pas non plus un modèle de s'exprimer de cette façon, je n'ai jamais prétendu être un modèle à suivre je le rappelle. Enfin bref désolé si ma réponse a heurté certaines personnes. Voici l'instanciation de ma map
private HashMap<Class<NomenclatureEntityFullView>,AbstractEntityService<NomenclatureEntityFullView>> maListe = new HashMap<Class<NomenclatureEntityFullView>, AbstractEntityService<NomenclatureEntityFullView>>();
, voici le code qui compile pas
maListe.put(EntityView.class, monService);
, et voici le message d'erreur d'eclipse :
1 2
| The method put(Class<NomenclatureEntityFullView>, AbstractEntityService<NomenclatureEntityFullView>) in the type
HashMap<Class<NomenclatureEntityFullView>,AbstractEntityService<NomenclatureEntityFullView>> is not applicable for the arguments (Class<EntityFullView>, EntityService) |
Sachant que EntityService extends AbstractEntityService<NomenclatureEntityFullView>, comme je disais par polymorphisme je pensais que le put sur la HashMap marcherait sans aucun souci.
Partager