当前位置:   article > 正文

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

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博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/305313
推荐阅读
相关标签
  

闽ICP备14008679号