classcastexception是什么原因造成的?ClassCastException解决方法|天天热议
时间:2023-06-08 10:21:17来源:三好在线

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是JVM在检

  • 同步热分析仪应用于哪些行业?同步热分析仪的操作方法

    同步热分析仪应用于哪些行业?同步热分析仪可同步测量热重与差热信息

  • mos管工作原理是什么?mos管三个引脚怎么区分?-世界观点

    mos管工作原理是什么?MOS管的基本工作原理是利用栅源电压去控制漏极

  • 哺乳期父亲怎么争到孩子的抚养权?哺乳期内的子女指的是多大的孩子?

    一、离婚调节的方式有哪些?离婚调解的方法有:1、民间调解,即当事人自行选定第三方非官方机构进行调解

  • 查社保积分在哪里查?征信报告在哪里可以打?

    如何查自己社保积分?1、 电话查询,可拨打人力资源社会保障咨询服务电话:12333;2、窗口查询,请携带本

  • 高通与任天堂达成合作了吗?你知道这意味着什么吗?

    高通与任天堂达成合作,共同探讨便携式游戏设备的处理器事宜近日,高通宣布和任天堂,索尼PlayStation展

  • 为什么很少人能通过申请停息挂账?信用卡逾期各种短信说要起诉是真是假?

    为什么很少人能通过申请停息挂账?银行是靠利润拉维持经营的,他们也要生存的。如果申请停息挂账都很容易

  • 什么是合伙私募?成立私募基金需要什么条件?

    私募是相对于公募而言。指民间企业与个人之间,个人与个人之间相互募集,借贷资金的一种经济方式。合伙

  • 湖南债务逾期停息挂账方式是什么?办理停息挂账需要多少钱?

    湖南债务逾期停息挂账方式是什么停息挂账又名个性化分期还款协议,是指信用卡逾期的人暂时无力偿还的情

  • 仙佑集团膏药贴牌代工怎么样? 膏药加工厂需要什么手续?

    仙佑医药了解到,膏药,作为一种传统的中药制剂,一直以来在中医领域中扮演着重要角色。它采用天然草药

  • 自己心里有病是什么意思?

    你没点心理疾病,怎么好意思出门这个视频是papi酱推出的一部幽默短片,调侃了现代社会中喜欢给自己贴心

  • 黄圣依被曝再度怀孕 黄圣依怀孕咋回事?

    黄圣依被曝再度怀孕爆料人称自己陪同家人去温哥华的某家庭医生诊所中做孕检时,遇到了黄圣依本人。据爆

  • 补水霜是面霜吗?补水霜和面霜一样吗?

    补水霜是面霜吗补水霜属于面霜。补水霜是膏体状,而且其中含有较多的水分,油脂含量相对较少的面霜产品

  • 狮子座总是喜欢做一些奇奇怪怪的事情 因为很想要博眼球?

    白羊座:奇思妙想白羊座就总是会有很多奇思妙想,他们总是想一出就是一出,完全不考虑别人的感受的。因

  • 河南科技大学是一本还是二本?河南科技大学是什么档次大学?

    河南科技大学是一本还是二本?好多小伙伴不清楚的,那小编就来给大家解答一下吧,感兴趣的小伙伴可以参考

  • 股份合作企业是民营企业吗?为什么选择合伙不选择公司?

    股份合作企业是民营企业吗?股份有限公司属于民营企业,根据规定,民营企业包括个人独资企业,合伙制企业,股

  • 旅游
    • 儿童腮腺炎的护理措施有哪些?儿童如何预防腮腺炎?

    • 机械硬盘接口的作用是什么?固态和机械硬盘的接口一样吗?

    • 金牛座男生的性格行事脚踏实地 前任和现任作对比也是现实的表现?

    • 信用卡拖欠4年未还怎么解决?信用卡分期还款会不会影响征信?