9
votes

Java Netd Wildcard Generic ne compilera pas

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: xxx

Il s'agit de génériques Java standard, fonctionne bien.

Cependant, si la carte générique devient imbriquée, cela ne fonctionne plus : xxx

Ceci conduit à une erreur de compilateur.

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?


1 commentaires

Il y a une explication à cela dans la FAQ de Java Generics: angélikalanger.com/genericsfaq/faqsections / ...


3 Réponses :


15
votes

donc le problème est, dosomething pourrait être mis en œuvre comme: xxx

Vous devez décider de ce que vous voulez dire.

probablement quelque chose comme: xxx


1 commentaires

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.



0
votes

Pour faire fonctionner le code pour travailler créer HASHMAP comme suit:

Map<String, Set<? extents Number>> map = new HashMap<String, Set<? extents Number>>();


0 commentaires

1
votes

Cela fonctionnera pour vous:

public void doSomething(Map<String, ? extends Set<? extends Number>> map) {}


0 commentaires