java.lang.String nicht umgewandelt werden, um java.util.Map$Entry
public static void main(String[] args) {
//TODO Auto-generated method stub
Map<String,String> map = new HashMap<String,String>();
Iterator itr = null;
StringBuffer sb = null;
Entry entry = null;
String key = null;
String val = null;
map.put("1", "Rakesh");
map.put("2", "Amal");
map.put("3", "Nithish");
itr = map.keySet().iterator();
sb = new StringBuffer();
while(itr != null && itr.hasNext()) {
try {
entry = (Entry) itr.next();
key = (String) entry.getKey();
val = (String) entry.getValue();
System.out.println(key);
System.out.println(val);
} catch (Exception e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
}
java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map$Entry
at com.sixdee.prepaidwork.MapZ.main(MapZ.java:38)
java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map$Entry
at com.sixdee.prepaidwork.MapZ.main(MapZ.java:38)
java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map$Entry
at com.sixdee.prepaidwork.MapZ.main(MapZ.java:38)
- Wenn Sie vermeiden Sie die Verwendung des raw -
Entry
undIterator
Arten, erhalten Sie die entsprechende Fehlermeldung zur compile-Zeit... - BTW, Sie können wirklich vereinfachen Sie die iteration, indem Sie mit Hilfe der erweiterten for-Schleife. Und auch, Java ist nicht C. Sie brauchen nicht zu erklären, dass die Variablen alle auf einer Stelle. Sie können erklären Ihnen, wie Sie Sie benötigen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
sollte
...als Sie bemerkt hätte, wenn Sie genutzt hatten, Generika richtig während Sie Ihr Programm, indem Sie
itr
TypIterator<Map.Entry<String, String>>
undentry
TypMap.Entry<String, String>
.