已解决java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map异常的正确解决方法,亲测有效!!!

文章目录

  • 报错问题
  • 解决方法
  • 福利

报错问题

粉丝群里面的一个小伙伴敲代码时发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错信息如下:


报错:java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map

解决方法

解决方法如下


导致这个问题是因为,存进去的是list,却直接强转为map。

有这样一段代码:(注:代码已经做了“马赛克”处理)

TestObject t = new TestObject();
List<Map<String, Object>> list1= new ArrayList<>();
Map<String, Object> map1= new HashMap<>();
map1.put("test", test);
list1.add(map1);
t.put("aaa", list1);

原来取值的时候:

TestObject testObject = (TestObject) object;Map<String, Object> map2 = (Map<String, Object>) testObject .get("aaa");

然后就报错了java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map

是因为存进去的是list,却强转为map

所以这里要多加一层转换,先拿到list,再去取map

TestObject testObject = (TestObject) object;
List<Map<String, Object>> list2 = (List<Map<String, Object>>) testObject.get("aaa");
if (list2 == null) continue;
Map<String, Object> map2 = list2.get(0);

有时报错:java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList…

等等诸如此类的报错,都是存进和取出的不恰当,怎么存的,就该怎么取。

有些同学可能觉得这样的代码奇奇怪怪,但是一个项目不只是一个做的,不同的人有不同的做法,我这里出现的bug,就是因为上层代码的改变,致使我下层的代码出现这个错误。

福利

每周会送6本技术书籍包邮到家
由于博主时间精力有限,每天私信人数太多,没办法每个粉丝都及时回复
大家可以进社区裙或者添加博主微信
点击下方链接即可
http://t.csdn.cn/6kInJ

已解决java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map异常的正确解决方法,亲测有效!!相关推荐

  1. java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map

    1.错误描写叙述 java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Mapat service ...

  2. java.lang.ClassCastException:android.widget.Button cannot be cast to android.widget.ImageView

    今天遇到一个错误也不知道怎么回事,上网搜了一下: 出现的问题是:java.lang.ClassCastException:android.widget.Button cannot be cast to ...

  3. java.lang.ClassCastException: com.xx.User cannot be cast to com.xx.User

    项目使用spring boot1.5.2 集成mybatis通用mapper插件,发现查询方法selectByPrimaryKey 会导致发生异常-- java.lang.ClassCastExcep ...

  4. shiro中devtools:java.lang.ClassCastException: cn.model.User cannot be cast to cn.model.User

    今天意外发现一个exception:java.lang.ClassCastException:cn.system.model.User cannot be cast to cn.system.mode ...

  5. shiro缓存管理时报错java.lang.ClassCastException: com.xxx.User cannot be cast to com.xxx.User

    一.异常 java.lang.ClassCastException: com.px.myshiro.domain.User cannot be cast to com.px.myshiro.domai ...

  6. jsp实验中:tag文件报java.util.ArrayList cannot be cast to java.lang.String

    描述 解决思路 (1)第一步:可以看到信息中主要是Exception描述: 他描述23行处理出问题,23行是调用tag文件,也就是tag文件的处理出了问题. (2)然后第二步,看root cause. ...

  7. java.lang.ClassCastException: Dao.Impl.AccountDaoImpl cannot be cast to Dao.AccountDao

    在学习Spring操作数据库是,遇到这个问题原因是实现类没有实现接口 Dao层接口 package Dao;import Pojo.Account;public interface AccountDa ...

  8. java类型转换异常_解决java.lang.ClassCastException的java类型转换异常的问题

    解决java.lang.ClassCastException的java类型转换异常的问题,异常,对象,错误,给大家,会报 解决java.lang.ClassCastException的java类型转换 ...

  9. oracle timestamp约束,java.lang.ClassCastException:oracle.sql.TIMESTAMP不能转换为java.sql.Timestamp...

    我正在处理通过网络流式传输ResultSet的应用程序.我最终使用了CachedRowSetImpl类.但是当我连接到一个Oracle数据库时,我会收到一个这样的错误 java.lang.ClassC ...

最新文章

  1. vscode 逗号不换行_在VSCode里面配置Vim正确姿势(细节解析)
  2. Apache Flink 零基础入门(十八)Flink Table APISQL
  3. Linux Tomcat8 启动堆内存溢出
  4. 轻易致盲分类器!普渡大学提出光学对抗攻击算法:OPAD,想法奇特,性能有效!...
  5. php在线考试系统源代码_php实现在线考试系统
  6. mysql选择哪个隔离级别更好_深入理解Mysql的四种隔离级别
  7. 7 Object类型
  8. [tldk][dpdk][dev] TLDK--基于dpdk的用户态协议栈传输层组件简单调研
  9. MFC字符串CString分割函数 简洁 C++
  10. 在本地视频播放中硬解与软解的能耗比体现
  11. 『解疑』vue修改html图标,tilte左边的图标(以图片格式作为图标)
  12. Excel单元格引用方式
  13. [宝塔]配置ssl证书,提示错误:证书错误,请粘贴正确的PEM格式证书
  14. 干得好也要说得好| 这样向领导汇报,让你在职场上如鱼得水
  15. 纯CSS实现多行文本溢出显示省略号(兼容不同浏览器)
  16. cmake rpath Makefile rapth
  17. 计算机的基础配置,教你认知电脑基本配置
  18. fcntl.py模块
  19. WebRTC-多人视频聊天流程
  20. JAVA计算机毕业设计读书网络社区设计Mybatis+系统+数据库+调试部署

热门文章

  1. 【Unity】渐入渐出的黑屏(白屏)过场动画最简单的实现
  2. 蒙特卡洛数值模拟-计算定积分的两种方法
  3. 【LSSVM回归预测】基于matlab飞蛾扑火算法优化LSSVM回归预测【含Matlab源码 142期】
  4. 工作中30个心理知识
  5. 斗鱼直播数字化实践经验总结
  6. 大数据时代的法院管理有何“妙招”
  7. C++之char数组字符串
  8. Java实现GeoHash算法
  9. python 无法导入cpython的.pyx文件
  10. DS二叉排序树之查找