关于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的方法 所以会导致报这个错误