关于for循环当中发生强制类型转换的问题

            Map map1 = new HashMap();
            Map map2 = new HashMap();
            Map map3 = new HashMap();

            List<Map> list = new ArrayList<>();
            
            map1.put("1", 1);
            map2.put("2", 2);
            map3.put("3", 3);
            
            list.add(map1);
            list.add(map2);
            list.add(map3);
            
            for(Map<String,String> m : list) {
                m.get("1").equals("1");
                System.out.println(m);
            }

这边会报 java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String 的错。

for循环 相当于是 使用强制类型转换  而不是toString的方法  所以会导致报这个错误

 

posted @ 2017-09-06 09:42  CoderV的进阶笔记  阅读(1539)  评论(0编辑  收藏  举报