Problème avec l'utilisation des génériques
Bonjour,
J'ai essayé de générifier le code suivant de façon à limiter le transtypages éventuel des résultats mais visiblement j'ai des trous dans ma compréhension de l'utilisation des génériques. Le compilateur n'est pas content et je ne vois pas vraiment comment faire...
Toute aide serait très appréciée.
Merci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
private Map<? extends IElement, Set<AbstractElementComponent<? extends IElement>>> elementComponents;
public <E extends IElement> Set<AbstractElementComponent<E>> getComponentsForElement(E element) {
return elementComponents.get(element); // compilateur n'aime pas!
}
public <E extends IElement> void addComponentForElement(E element, AbstractElementComponent<E> component) {
Set<AbstractElementComponent<E>> components = getComponentsForElement(element);
if (components == null) {
components = new HashSet<AbstractElementComponent<E>>();
elementComponents.put(element, components); // compilateur n'aime pas!
}
components.add(component);
} |
PA