已解决java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map异常的正确解决方法,亲测有效!!
已解决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异常的正确解决方法,亲测有效!!相关推荐
- 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 ...
- java.lang.ClassCastException:android.widget.Button cannot be cast to android.widget.ImageView
今天遇到一个错误也不知道怎么回事,上网搜了一下: 出现的问题是:java.lang.ClassCastException:android.widget.Button cannot be cast to ...
- java.lang.ClassCastException: com.xx.User cannot be cast to com.xx.User
项目使用spring boot1.5.2 集成mybatis通用mapper插件,发现查询方法selectByPrimaryKey 会导致发生异常-- java.lang.ClassCastExcep ...
- 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 ...
- 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 ...
- jsp实验中:tag文件报java.util.ArrayList cannot be cast to java.lang.String
描述 解决思路 (1)第一步:可以看到信息中主要是Exception描述: 他描述23行处理出问题,23行是调用tag文件,也就是tag文件的处理出了问题. (2)然后第二步,看root cause. ...
- java.lang.ClassCastException: Dao.Impl.AccountDaoImpl cannot be cast to Dao.AccountDao
在学习Spring操作数据库是,遇到这个问题原因是实现类没有实现接口 Dao层接口 package Dao;import Pojo.Account;public interface AccountDa ...
- java类型转换异常_解决java.lang.ClassCastException的java类型转换异常的问题
解决java.lang.ClassCastException的java类型转换异常的问题,异常,对象,错误,给大家,会报 解决java.lang.ClassCastException的java类型转换 ...
- oracle timestamp约束,java.lang.ClassCastException:oracle.sql.TIMESTAMP不能转换为java.sql.Timestamp...
我正在处理通过网络流式传输ResultSet的应用程序.我最终使用了CachedRowSetImpl类.但是当我连接到一个Oracle数据库时,我会收到一个这样的错误 java.lang.ClassC ...
最新文章
- vscode 逗号不换行_在VSCode里面配置Vim正确姿势(细节解析)
- Apache Flink 零基础入门(十八)Flink Table APISQL
- Linux Tomcat8 启动堆内存溢出
- 轻易致盲分类器!普渡大学提出光学对抗攻击算法:OPAD,想法奇特,性能有效!...
- php在线考试系统源代码_php实现在线考试系统
- mysql选择哪个隔离级别更好_深入理解Mysql的四种隔离级别
- 7 Object类型
- [tldk][dpdk][dev] TLDK--基于dpdk的用户态协议栈传输层组件简单调研
- MFC字符串CString分割函数 简洁 C++
- 在本地视频播放中硬解与软解的能耗比体现
- 『解疑』vue修改html图标,tilte左边的图标(以图片格式作为图标)
- Excel单元格引用方式
- [宝塔]配置ssl证书,提示错误:证书错误,请粘贴正确的PEM格式证书
- 干得好也要说得好| 这样向领导汇报,让你在职场上如鱼得水
- 纯CSS实现多行文本溢出显示省略号(兼容不同浏览器)
- cmake rpath Makefile rapth
- 计算机的基础配置,教你认知电脑基本配置
- fcntl.py模块
- WebRTC-多人视频聊天流程
- JAVA计算机毕业设计读书网络社区设计Mybatis+系统+数据库+调试部署