2016-10-06 4 views
0

Ich habe eine HashMap und möchte es iterieren. Aber irgendwie sagt es, dass ich inkompatible Typen habe.Iterating eine Hashmap: Inkompatible Typen

Required: java.util.Map.Entry <java.lang.String , java.lang.String> 
Found : java.lang.Object 

Heres mein Code:

Map hashmapMessagesKey = new HashMap<String,String>(); 
for (Map.Entry<String, String> entry : hashmapMessagesKey.entrySet()) { 

    } 
+4

Ihre Karte ist derzeit ein raw-Typ, verwenden Sie Map anstelle von Map. – Nevay

Antwort

1

Ihre Karte defination scheint falsch zu sein.

Map<String, String> map= new HashMap<String, String>(); 
1

Der deklarierte Typ Ihrer Variablen ist der entscheidende Faktor, nicht die Initialisierung. Ihr deklarierten Typ ist derzeit ein rohes Map-Typ sollte aber sein generic:

Map<String, String> hashmapMessagesKey = new HashMap<>(); 

Neben je nach Anwendungsfall, die für-jedes Verfahren sein könnte besser lesbar, wie Sie den Schlüssel und Wert benennen statt Mit entry.getKey() und entry.getValue():

+0

Ich verstehe. Imo der Fehlercode ist ein bisschen irreführend. Vielen Dank ! Ich werde deine Antwort akzeptieren –