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原因及解决方法
- 空格符号怎么打?如何打出空格符号?
- 救援队影像日志·2月9日 | 中国多支救援队奔赴灾区
- 每日讯息!成都海昌极地海洋公园门票价格及优惠政策
- 限售股所得税是什么?限售股分为哪些?
- 企业IPO上市流程包括哪几步?ipo申报到上市需要多久?
- 全球观察:光迅科技:公司在激光雷达领域有布局
- 快可电子:公司目前主要产品有光伏接线盒、光伏连接器、储能连接器 可应用于光储充产品
- 每日信息:中德贸易额去年创历史新高
- 【环球快播报】贵人鸟厦门公司等7家公司成被执行人 执行标的金额6062万元
- 天天亮点!瞄准情人节!蒂芙尼入驻京东 开设中国首个第三方电商旗舰店
- 银行定期存款到期后怎么处理?银行定期可以存多久?
- 什么是杠杆基金?杠杆基金包括哪些?
- 黄金降价的原因都有哪些?黄金什么时候买最合适?
- 中药口腔护理产品崛起,中草药牙膏推荐草方
- 最好用的股票软件有哪些?买股票用什么软件好?
- 什么是行业景气指数?行业发展趋势看哪个指标?
- 卖出开仓是什么意思?备兑卖出开仓有什么目的?
- 江西电价阶梯式收费标准是怎样的?江西峰谷电价是怎么算的?
- 播报:国际能源署:未来三年全球电力需求将加速增长