java.math.BigDecimal cannot be cast to java.lang.Integer

java.math.BigDecimal cannot be cast to java.lang.Integer

问题

今天用mybatis读取一个count(1) 的sql语句 用的是map接收的,
Map<String, Integer>
但是在执行int demand = baseCount.get("demand");这一行代码的时候会报错:java.math.BigDecimal cannot be cast to java.lang.Integer,
但是如果不用一个int来接收,直接System.out.println(baseCount.get("demand"));却不会报错,数据可以正常被输出

解决方案

先转为String类型,在转成int类型
注意使用String.valueOf()而不能直接使用.toString(),转int可以直接使用Integer.parseInt()

疑问

不是用int接收为什么在调用mybatis接口的时候没有报错,可以正常使用


版权声明:本文为weixin_43774832原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。