关于 java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String
今天遇到了这个异常,其实是自己经验欠缺所致。我是通过mybatis查询到数据库传过来的主键,是一个32位的char类型。
代码:
//查询总账表的该组织总账记录,包括该条记录的主键id、账户余额
DzzZzb zzbInfo = null;
Map map = (Map) IbatisSQL.selectOne("df.getZzbOrganid", parameter);
String zzid = (String)map.get("ZZID");
结果就报了标题处的异常。
查询发现,问题是出在强转上,只要改成:
String zzid = map.get("ZZID").toString();
就可以解决。因为BigDecimal不能强制转换成 String类型,要用toString()转换。