Gibt es eine Möglichkeit, die folgende Implementierung typsicher zu machen?Java Generics setzen Karte <String,? extends Liste <String>>
public void myMethod(Map<String, ? extends List<String>> map)
{
map.put("foo", Collections.singletonList("bar");
}
Die obige Implementierung funktioniert nicht. Es erfordert eine Map<String, ? super List<String>>
, um die Methode map.put()
korrekt zu kompilieren. Aber myMethod wird keinen Untertyp von List auf diese Weise akzeptieren. Also muss ich stattdessen Map<String, ? extends List<String>>
verwenden. Wie kann ich dieses Problem typsicher lösen?
+1 für eine gute Erklärung (jetzt, dass Ihre Generika sichtbar sind: P). –
Hoppla. Ich denke immer daran, dass SOF-Filter trotzdem Text filtern, der das angulierte Bracket-Zeug fixiert. Naja... – KitsuneYMG