今天在开发的时候遇到了一个问题,在此记录一下,问题的大概意思就是类型不一致不能进行强转
代码如下: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方法