classcastexception是什么原因造成的?ClassCastException解决方法
classcastexception是什么原因造成的?
ClassCastException是JVM在检测到两个类型间转换不兼容时引发的运行时异常。此类错误通常会终止用户请求。在执行任何子系统的应用程序代码时都有可能发生ClassCastException异常。
通过转换,可以指示Java编译器将给定类型的变量作为另一种变量来处理。对基础类型和用户定义类型都可以转换。Java语言规范定义了允许的转换,其中大多数可在编译时进行验证。
不过,某些转换还需要运行时验证。如果在此运行时验证过程中检测到不兼容,JVM就会引发ClassCastException异常。
1.一个类是数字类,而由于误操作,错误的将数字类向数字类转换改写成了数字类向字符串类的转换,从而产生了异常。
2.大部分原因是因为强制转换或者是SQL映射时发生了这个异常。
是因为sql映射出现了问题:
因为sql中返回的是一个 list的实体对象,而接收的则是一个List类型的参数。
怎么解决?
首先打开我们的开发工具myeclispe,然后点击File,选择New,在点击Java Project选项来新建个java工程项目。
这里我新建了三个java类。一个是BaiDu类作为父类,一个JingYan类作为子类。还有一个AesTest类是来测试我们结果的。
在BaiDu.java父类中,就定义一个name属性。在JingYan.java类里,我们是先继承了BaiDu这个类,然后又定义了个Cname属性。
代码如下:
public class BaiDu {
String name = "baidu";
}
public class JingYan extends BaiDu {
String Cname = "jingyan";
}
在AesTest.java类里面写上测试代码,代码如下:
public static void main(String[] args) {
BaiDu baidu = new BaiDu();
JingYan jingyan = new JingYan();
jingyan = (JingYan) baidu;
System.out.println(jingyan);
}
这里注意,把定义的baidu赋值给jingyan,由于类型不一致,所以要进行类型强制转化,用JingYan这个类来进行强制转换。
写好后,就可以执行这段代码了,执行发现报错java.lang.ClassCastException。报错的意思就是强制类型转换异常。
接着,我们在修改下代码,代码如下:
public static void main(String[] args) {
BaiDu baidu = new BaiDu();
JingYan jingyan = new JingYan();
baidu = (BaiDu)jingyan;
System.out.println(baidu);
}
这里是把jingyan赋值给baidu,由于类型不一致,所以要进行类型强制转化,用BaiDu这个类来进行强制转换,修改好后,再来执行,发现此时可以正常运行,输出想要的结果。
出现java.lang.ClassCastExceptio错误是指类型强制转换出错了。当我们用子类对象去强制转换父类对象就会报错,或者使用子类对象 = 父类对象,同样会抛出java.lang.ClassCastException。
例如:jingyan = (JingYan) baidu;或者jingyan=baidu;
都会报错。
标签: classcastexception是什么原因造成的 classcastexception怎么解决 ClassCastException原因及解决方法 ClassCastException解决方法 ClassCastException发生的原因以及解决方案
相关推荐:
最新新闻:
- 魔兽世界克罗米之死攻略有哪些?克罗米战役位置及完成攻略
- classcastexception是什么原因造成的?ClassCastException解决方法
- 天龙八部最佳视角参数是多少?天龙八部改视角一般改多少?
- wow年兽掉落什么?魔兽世界怎么骑坐骑?
- 洛克王国格斗小五在哪抓?洛克王国格斗小五我怎么抓不到?
- SugarSync网盘好用吗?国内云盘哪个好用?最好用的网盘推荐
- 酷影模式是什么?酷影模式哪里启动?
- 电驴未连接到服务器怎么办?电驴还能下载吗?
- 地下城维护到几点?dnf手游维护中怎么办?
- dnf绝密区域boss怎么打?关于dnf绝密区域boss怎么打的介绍
- lol客户端版本无效怎么解决?英雄联盟游戏版本不同怎么解决?
- lol打字没有选字框怎么办?lol为什么打字显示不出来?
- dnf银色陨石如何获得?dnf银色陨石在哪换?
- 如何去掉桌面图标阴影?怎么去除桌面图标下的阴影?桌面图标阴影去除方法
- 节奏大师什么时候可以玩?节奏大师那个游戏叫什么?
- 洛克王国画中仙怎么去?洛克王国历险之证怎么得?
- DNF驭剑士怎么加点?dnf驭剑士需要什么属性?
- 360浏览器字体变小了怎么办?360浏览器页面设置方法
- qq三国初级高压锅如何用?qq三国高级高压锅哪里买?
- 龙之谷公会技能如何选择?龙之谷狙翎怎么堆属性?
- 魔兽世界先知雷兹拉在哪里?先知雷兹拉传送门在哪?
- 赛尔号伏魔空间在哪里?赛尔号夜魔之魂怎么得?
- 斗战神玩什么职业好?斗战神什么职业吃香?
- 梦幻西游雷鸟人饰品如何获得?雷鸟人几个必带技能?
- 电脑本地连接断开是怎么回事?电脑已断开连接怎么开启?
- 魔兽世界侏儒坐骑在哪买?怀旧服侏儒买什么坐骑好看?
- 魔兽世界虚空龙在哪买?魔兽世界虚空幼龙之翼任务怎么做?
- 迈克菲激活码在哪看?迈克菲序列号怎么用?
- 怎样打开cr2文件?cr2怎么用电脑查看?
- 淘宝安全证书过期怎么办?淘宝证书过期如何办?
- 云计算实现方法是什么?实现云计算需要哪些技术?
- 斗战神混沌之祸任务在哪里接?斗战神混沌任务在哪接?
- 赛尔号卡鲁耶克怎么融合?赛尔号卡鲁克斯刷什么?
- 笔记本导热硅胶如何涂?导热硅胶的作用以及用法
- 腾讯《无畏契约》国服今日终测 20名英雄爽玩_环球速讯
- 职位列表显示:任天堂正在招聘次世代游戏机开发者
- 报道称美国藏了外星人飞船 马斯克发表回应
- 天天视讯!汤姆·霍兰德宣布将息影一年:制作《拥挤的房间》让我身心俱疲
- 【天天热闻】生存冒险游戏《血清》新预告 支持简体中文
- 卡普空游戏发布会前瞻 包含《龙之信条2》等游戏
- 环球报道:庵野秀明开保时捷加油被偶遇 粉丝晒账单被批侵犯隐私
- 环球新资讯:《吸血鬼:避世血族2》新截图 画面精致气氛诡异
- 世界热推荐:荷兰警方在泽兰省截获多批可卡因
- 当前关注:乌克兰卡霍夫卡水电站大坝遭破坏,外交部:严重关切
- 美媒称布林肯将在几周内访华,中方能否证实?外交部回应
- 恒信东方涨20.00% 世界滚动
- 观察:凯美特气(002549.SZ)子公司惠州凯美特例行停车检修完成并复产
- 天津普林拟关联收购 被问高溢价是否损害上市公司利益
- 庄浪县气象台发布雷电黄色预警信号【2023-06-07】
- 数百名非法移民冲过美墨边境大桥 墨西哥边防人员被撞倒
- 王源演唱会婚纱引发的「中国式离婚」
- 每日精选:男友演唱会上和保安亲嘴,霉霉再度分手?!网友:霉霉该好好和自己相处…
- 《暗黑破坏神4》技术分析视频 PS5|XSX原始分辨率太低
- 环球观点:《F1车队经理2023》7/31推出 提供标准/豪华版
- 环球报道:个人特点及特长500字(个人特点及特长)
- 全球滚动:氢气对人体的十大好处 创辉(氢气对人体的作用好处与坏处)
- 每日简讯:一般纳税人房屋出租简易征收税率(房屋租赁税率11 简易征收5)
- 辽阳:增设1400个临时停车位
- 美元兑印度卢比汇率走势分析:印度央行利率决定临近 印度卢比跌至82.50下方
- 港股异动 | 海昌海洋公园(02255)一度跌超33% 北水连续10日减仓 公司回应称经营一切正常 天天观热点
- 初入六月 丙二醇市场整体弱势走跌运行(5.29-6.7)
- 氧化铝6月19日期货挂牌交易 后市铝价走向如何? 世界播报
- 科普|重视颈动脉超声检查,让血管健康杀手无所遁形|环球速讯
- 环球快看:中消协发布消费警示:警惕培训班退费骗局
- 和胜股份:在项目研发前沿领域一直与宁德时代深度合作
- 【高端访谈】RCEP全面生效促进区域经济一体化——访日本贸易振兴机构成都代表处首席代表森永正裕
- 关于秋天的诗配画六年级 关于秋天的诗配画
- 环球看点!换了桶装矿泉水还说水质不好 飞利浦饮水机要求“换水”闹罢工
- 中电兴发:公司目前暂时没有液冷技术的数据中心
- 中海达:公司本次减持计划详情请见公司于2023年5月19日披露的相关公告-天天报道
- 热门:大邑县北街小学第17届科艺节“艺术小明星”出炉!
- 试卷命制+教学设计,大邑县北街小学英语组培训有干货-世界速看料
- 滚动:郫都区安德幼儿园:结对帮扶促提升,互助交流共成长
- 收评:沪指缩量微涨,创业板指跌1.6%,旅游、传媒等板块拉升|环球今日讯
- 新消息丨安信证券:新能源车依然高增长 头部车企盈利能力有望持续提升