Java ClassCastException异常解决方案

ClassCastException是JVM在检测到两个类型间转换不兼容时引发的运行时异常。此类错误通常会终止用户请求。在执行任何子系统的应用程序代码时都有可能发生ClassCastException异常。通过转换,可以指示Java编译器将给定类型的变量作为另一种变量来处理。对基础类型和用户定义类型都可以转换。Java语言规范定义了允许的转换,其中大多数可在编译时进行验证。不过,某些转换还需要运行时验证。如果在此运行时验证过程中检测到不兼容,JVM就会引发ClassCastException异常。
出现这个异常的原因如下:

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

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

而我遇到的问题是:

 1461:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '0x4c1ae77bc2df45fb68b13fa1b4f000305209b0cb' for key 'contract_address'

是因为sql映射出现了问题:

这是出问题的SQL

这个是interface中

因为sql中返回的是一个 list的实体对象,而接收的则是一个List类型的参数。
虽然查询的时候没有报错,但是后续的时候遍历查找出来的结果就出错了。只要改成如下就可以了,一个非常大意的错误!

这里写图片描述

这样就可以了。

以上就是Java ClassCastException异常解决方案的详细内容,更多请关注html中文网其它相关文章!

赞(0) 打赏
未经允许不得转载:html中文网首页 » Java

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏