首页 > 代码库 > java.math.BigDecimal cannot be cast to java.lang.String   ----解决方案

java.math.BigDecimal cannot be cast to java.lang.String   ----解决方案

  今天在开发的时候遇到了一个问题,在此记录一下,问题的大概意思就是类型不一致不能进行强转

代码如下:

rolf.setFuncd((String) rece.get("FUN_CD"));//强转

rolf.setFunid((String) rece.get("FUN_ID")); //强转

rolf.setFunnm((String) rece.get("FUN_NM")); //强转

  因为我第二段的代码Orc数据库的字段类型是number,而实体的类型是String

所以我在执行的时候报错,java.math.BigDecimal cannot be cast to java.lang.String

将第二段代码改成如下格式.toString()错误解除,原因是:

rolf.setFuncd((String) rece.get("FUN_CD"));//强转

rolf.setFunid(rece.get("FUN_ID").toString()); //解释如下

rolf.setFunnm((String) rece.get("FUN_NM"));
   toString是Object类的方法,所有类都从Object类继承。如果你定义的类没有覆盖toString方法,则对象在调用toString方法时用的是Object类toString方法


本文出自 “yipaixiaoyayin” 博客,请务必保留此出处http://yipaixiaoyayin.blog.51cto.com/8812323/1910085

java.math.BigDecimal cannot be cast to java.lang.String   ----解决方案