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

LinkedHashMap和HashMap的比较使用

LinkedHashMap和HashMap的比较使用(转)

java.lang.ClassCastException:java.util.LinkedHashMap 无法转换为 com.testing.models.Account

找不到类型的响应对象的 MessageBodyWriter:媒体类型的 java.util.LinkedHashMap:application/json

java.util.LinkedHashMap cannot be cast to xxJavaBean