当前位置:   article > 正文

解决 报错 java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to xxx(实体类)

java.lang.classcastexception: java.util.linkedhashmap cannot be cast to com.

1、前端封装JSON值,后台需要List<实体类>接收

 Map map = jsonObject.getInnerMap();
 List<实体类> list1 = (List<实体类>) map.get("xxx");
  • 1
  • 2

2、进行forearch循环的时候报错

xxx.forEach((item)->{})
  • 1

报错信息:

java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.xxx.xxxx.entity.xxxx

3、打断点调试查看发现里面封装的是两个Map 而不是实体类
在这里插入图片描述
4、解决方法

 ObjectMapper mapper = new ObjectMapper();
 List<实体类> list1 = (List<实体类>) map.get("xxx");
 List<实体类> xxx= mapper.convertValue(list1, new TypeReference<List<实体类>>() { });
  • 1
  • 2
  • 3

记住引入包路径是下面这两个

import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;
  • 1
  • 2
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号