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 und Iterator 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.
InformationsquelleAutor | 2013-10-29
Schreibe einen Kommentar