1. 程式人生 > >java.util.LinkedHashMap cannot be cast to xxJavaBean

java.util.LinkedHashMap cannot be cast to xxJavaBean

集合 obj arr 數據 linked shm 方式 style object

// 前提/map.get("listKey")為List集合
List<JavaBean> list = (List<JavaBean>) map.get("listKey"); if (CollectionUtils.isNotEmpty(list)) {   list.forEach(xx -> {   }); }

以上代碼運行至forEach時會報錯:java.util.LinkedHashMap cannot be cast to JavaBean

細想之後結論:map獲取listKey之後形成的數據集合格式與JavaBean數據格式不符

修改代碼:

List<JavaBean> list = JSONObject.parseArray(JSONObject.toJSONString(map.get("listKey"))).toJavaList(JavaBean.class
); if (CollectionUtils.isNotEmpty(list)) {   list.forEach(xx -> {   }); }

使用JSONObject轉換數據格式的方式使之運行通過

java.util.LinkedHashMap cannot be cast to xxJavaBean