java.util.LinkedHashMap cannot be cast to xxx.xxx.xxx

199 阅读1分钟
/**
 * 例: List<JavaBean> pojo= (List<JavaBean>) map.get("tableData");
 * 遇到错误如下:java.util.LinkedHashMap cannot be cast to xxx.xxx.xxx
 *
 * 此错误是你去遍历了一个强制转换后的list集合,
 *
 * 比如去遍历这样的集合就会报错List<JavaBean> list = (List<JavaBean>) map.get("tableData");
 *
 * 总结:强转的list集合是无法遍历的。
 *
 * 原因:map获取listKey之后形成的数据集合格式与JavaBean数据格式不符。
 *
 * 解决办法,将你强转的list转成json,然后将json转list,此时你就可以遍历了。
 */
List<JavaBean> list = JSONObject.parseArray(JSONObject.toJSONString(map.get("tableData"))).toJavaList(JavaBean.class);