Java异常处理之java.lang.ClassCastException问题
类型转换异常:两个类型间转换不兼容
java.lang.ClassCastException:异常解决!
下面仅仅展示部分代码:
//java1和java2都是list集合
Map map = new HashMap();
map.put("Java1",java1);
map.put("Java2",java2);
Set set = map.keySet();
for (Object obj : set){
StudentPra stu65 = (StudentPra) obj; //改行报错
System.out.println(stu65.getClassStu());
List stuList = (List) map.get(obj);
for (Object o2 : stuList){
StudentPra students = (StudentPra) o2;
System.out.println("姓名"+students.getName()+",生日"+students.getBrithday());
}
}报错代码
StudentPra stu65 = (StudentPra) obj;
1.首先,读报错信息:
Exception in thread “main” java.lang.ClassCastException: java.lang.String cannot be cast to cn.xiaozheng.test.StudentPra
at cn.xiaozheng.test.StudentPraTest.main(StudentPraTest.java:53)
2.剖析:
java.lang.String cannot be cast to cn.xiaozheng.test.StudentPra
类型转换异常,就是类型不兼容。
3.看代码
Map map = new HashMap();
map.put("Java1",java1);我这里键存储的类型为String类型;
for (Object obj : set){
StudentPra stu65 = (StudentPra) obj; //改行报错
System.out.println(stu65.getClassStu());
List stuList = (List) map.get(obj);
for (Object o2 : stuList){
...
}
}而我在改行把String类型转换为了StudentPra类型,所以在后来需要通过键名获取到键值的时候,出现类型不兼容的问题。
StudentPra stu65 = (StudentPra) obj; //改行报错
实际问题出在
List stuList = (List) map.get(obj);
无法正确通过String类型的键获取到对应类型的值!
其实我的代码在书写的时候就有点问题:因为我定义的键的类型为String类型,所以我大可直接输出,但是现在也算是收获了一种异常处理!
正确代码:
Map map = new HashMap();
map.put("Java1",java1);
map.put("Java2",java2);
Set set = map.keySet();
for (Object obj : set){
System.out.println(obj);
List stuList = (List) map.get(obj);
for (Object o2 : stuList){
StudentPra students = (StudentPra) o2;
System.out.println("姓名"+students.getName()+",生日"+students.getBrithday());
}
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring Boot 3.2.5集成mysql的详细步骤记录
作为一名Java开发者,我们经常需要在我们的应用程序中使用数据库,在Spring Boot中集成数据库是非常容易的,下面这篇文章主要给大家介绍了关于Spring Boot 3.2.5集成mysql的详细步骤,需要的朋友可以参考下2024-04-04
springboot使用之多个filter的执行顺序以及配置方式
这篇文章主要介绍了springboot使用之多个filter的执行顺序以及配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-08-08
springboot+thymeleaf+mybatis实现甘特图的详细过程
这篇文章主要介绍了springboot+thymeleaf+mybatis实现甘特图的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-07-07


最新评论