J'ai un problème avec des caractères génériques imbriquées délimités dans les génériques Java.
Voici un cas commun: p> Il s'agit de génériques Java standard, fonctionne bien. P> Cependant, si la carte générique devient imbriquée, cela ne fonctionne plus : p> Ceci conduit à une erreur de compilateur. P> J'ai essayé une variété de moulages et de permutations de caractères génériques, mais je ne peux pas obtenir cela travail. Je ne me souviens pas de voir cette question auparavant et j'ai travaillé avec des génériques depuis des années. Suis-je trop fatigué et manque quelque chose d'évident? P> p>
3 Réponses :
donc le problème est, Vous devez décider de ce que vous voulez dire. p> probablement quelque chose comme: p> dosomething code> pourrait être mis en œuvre comme:
Oui, je viens de réaliser de manière indépendante cela. J'aurais pu juré que j'ai essayé qu'hier, mais j'ai probablement eu un autre changement subtil.
Pour faire fonctionner le code pour travailler créer HASHMAP comme suit:
Map<String, Set<? extents Number>> map = new HashMap<String, Set<? extents Number>>();
Cela fonctionnera pour vous:
public void doSomething(Map<String, ? extends Set<? extends Number>> map) {}
Il y a une explication à cela dans la FAQ de Java Generics: angélikalanger.com/genericsfaq/faqsections / ...