java.lang.ClassCastException异常出现有哪些情况?

Hql写的语句能查出来。严重:Servlet.service()forservletactionthrewexceptionjava.lang.ClassCastExce... Hql写的语句能查出来。
严重: Servlet.service() for servlet action threw exception
java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.mhjl.gtmodule.Mhuser
这个错误我老是遇到,我知道是我在写方法时有错误。可是我老改不了犯这个错误。
除了这个外,还有什么情况会出现这个异常呢?
展开
 我来答
IEIOA
2018-12-23 · TA获得超过2.2万个赞
知道答主
回答量:16
采纳率:100%
帮助的人:5781
展开全部

这是因为类型装换错误。

出现这种情况的原因及解决方法有:

原因:String cannot be cast to java.lang.Integer,String类型数据不能转到Integer类型,这是因为程序中的TreeSet中添加数据时要求进行对数据排序,而进行比较时只能在统一的类型下面比较,所以Integer 类型的和String类型的就会不能比较,所以报异常

解决方法:将add()函数中的内容全部修改为字符串类型,即add("123");,之后就能正常运行了

扩展资料:

类型转换是因为每个函数都可以强制将一个表达式转换成某种特定数据类型。自动(隐式)类型转换不会导致数据丢失。

数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。 变量是用来存储值的所在处;它们有名字和数据类型。

变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。

小澈Wataru
2018-12-10 · TA获得超过3240个赞
知道答主
回答量:73
采纳率:0%
帮助的人:4.1万
展开全部

ClassCastException是JVM在检测到两个类型间转换不兼容时引发的运行时异常。

此类错误通常会终止用户请求。在执行任何子系统的应用程序代码时都有可能发生ClassCastException异常。通过转换,可以指示Java编译器将给定类型的变量作为另一种变量来处理。对基础类型和用户定义类型都可以转换。

不过,某些转换还需要运行时验证。如果在此运行时验证过程中检测到不兼容,JVM就会引发ClassCastException异常。 

出现这个异常的情况如下: 

1、一个类是数字类,而由于误操作,错误的将数字类向数字类转换改写成了数字类向字符串类的转换,从而产生了异常。 

2、大部分原因是因为强制转换或者是SQL映射时发生了这个异常。 

扩展资料:

当抛出这个异常的时候,表示代码企图投射一个对象到一个并不是实例的子类

举例以下代码就会产生一个ClassCastException: 

ClassCastException: 

Object x = new Integer(0);

System.out.println((String)x);

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jseven_jy
2010-07-13 · TA获得超过8122个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1136万
展开全部
类型转换错误..

比如你有个A类和B类..两个类没有任何关系..

然后你A a = new A();
B b = (B)a;
这样就运行期就会报这个异常了..

但是假如你的B类继承自A类就不会了..

如果你想避免这个错误的话..

可以在转型前检查一下..a对象是否是B类型..用instanceof关键字..

比如if(a instanceof B) {B b = (B)a;} 这样就行了..
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a30501139
2010-07-13 · TA获得超过172个赞
知道小有建树答主
回答量:523
采纳率:0%
帮助的人:253万
展开全部
类型转换错误,比方说一个数据他是"ss",String类型的,但是你却用Integer.parseInteger()去转换成int型,这样当然是错误的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mrajian
2010-07-13 · TA获得超过1979个赞
知道小有建树答主
回答量:191
采纳率:100%
帮助的人:150万
展开全部
当两个没有所属关系的类的实例进行类型转换时抛出此异常,即类型不匹配!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式