2017-09-18 1 views
-6

Im Compiler-Fehler bekommen, wenn ich mit diesem obigen Verfahren versucht Instanziierung:wie instanziiert Map <String, Map <String, JsonNode >>

new HashMap<String, new HashMap<String, JsonNode>()>() 

Dank

Please see the error here

+0

Warum denken Sie, dass Sie etwas für einen generischen Typ instanziieren müssen? – Tom

+0

Bitte geben Sie die Fehlermeldung als Text anstelle eines Bildes ein. – vanje

+0

Ich versuche, einen Komponententest auszuführen. Anscheinend gehört das zum Bereich der Klasse, die instanziiert wird – PhaYo

Antwort

2

Wenn Sie anrufen Mit dem Konstruktor können Sie Diamond Inference verwenden, um dem Compiler mitzuteilen, dass es "herauszufinden" ist:

Wenn Sie wirklich den ganzen Typ deklarieren wollen, dann ist es ähnlich der Variablendeklaration. Sie verwenden die Klammern in Klammern nur, wenn Sie den Konstruktor und nicht für jeden generischen Typ aufrufen:

Map<String, Map<String, JsonNode>> myMap = new HashMap<String, Map<String, JsonNode>>(); 
Verwandte Themen