Esiste un modo per rendere la seguente implementazione in un modo sicuro?Java Generics che inserisce sulla mappa <String,? estende la lista <String>>
public void myMethod(Map<String, ? extends List<String>> map)
{
map.put("foo", Collections.singletonList("bar");
}
L'implementazione di cui sopra non funziona. È necessario un Map<String, ? super List<String>>
per compilare correttamente il metodo map.put()
. Ma myMethod non accetterà alcun sottotipo di List in questo modo. Quindi, devo usare Map<String, ? extends List<String>>
invece. Come posso risolvere questo problema in un modo sicuro?
+1 per una buona spiegazione (ora che i tuoi generici sono visibili: P). –
Oops. Continuo a pensare che, dal momento che i filtri SOF scrivono comunque che aggiusta la staffa angolata. Oh bene... – KitsuneYMG