大家好,又见面了,我是你们的朋友全栈君。
ClassCastException是JVM在检测到两个类型间转换不兼容时引发的运行时异常。此类错误通常会终止用户请求。在执行任何子系统的应用程序代码时都有可能发生ClassCastException异常。通过转换,可以指示Java编译器将给定类型的变量作为另一种变量来处理。对基础类型和用户定义类型都可以转换。Java语言规范定义了允许的转换,其中大多数可在编译时进行验证。不过,某些转换还需要运行时验证。如果在此运行时验证过程中检测到不兼容,JVM就会引发ClassCastException异常。 出现这个异常的原因如下: 1.一个类是数字类,而由于误操作,错误的将数字类向数字类转换改写成了数字类向字符串类的转换,从而产生了异常。 2.大部分原因是因为强制转换或者是SQL映射时发生了这个异常。 而我遇到的问题是:
代码语言:javascript复制1461:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '0x4c1ae77bc2df45fb68b13fa1b4f000305209b0cb' for key 'contract_address'
是因为sql映射出现了问题:
因为sql中返回的是一个 list的实体对象,而接收的则是一个List类型的参数。 虽然查询的时候没有报错,但是后续的时候遍历查找出来的结果就出错了。只要改成如下就可以了,一个非常大意的错误&#x