java.util.LinkedHashMap cannot be cast to xxJavaBean
Posted HuaChenYing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.util.LinkedHashMap cannot be cast to xxJavaBean相关的知识,希望对你有一定的参考价值。
// 前提/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的主要内容,如果未能解决你的问题,请参考以下文章
java.lang.ClassCastException:com.google.gson.internal.LinkedTreeMap 无法转换为 java.util.LinkedHashMap
java.lang.ClassCastException:java.util.LinkedHashMap 无法转换为 com.testing.models.Account
找不到类型的响应对象的 MessageBodyWriter:媒体类型的 java.util.LinkedHashMap:application/json