Map<String, Double>
{xxx=1200, cjcount=3, tdcjje=12000}
map.get("xxx")
1200
double i = map.get("xxx");
java.lang.ClassCastException: java.math.BigDecimal
[quote=引用 2 楼 whos2002110 的回复:] 本来就不是Double类型, 编译器提示你是因为你Map指定了Value的泛型类型。 并不代表里面的值是Double类型。 建议你以后出来数据库数值返回到Java时都统一用Number接收,然后再得到你要的类型。 ((Number) map.get("xxx")).doubleValue(); 这样肯定行。 你的那个出来的实际类型是BigDecimal
本来就不是Double类型, 编译器提示你是因为你Map指定了Value的泛型类型。 并不代表里面的值是Double类型。 建议你以后出来数据库数值返回到Java时都统一用Number接收,然后再得到你要的类型。 ((Number) map.get("xxx")).doubleValue(); 这样肯定行。 你的那个出来的实际类型是BigDecimal
67,550
社区成员
225,863
社区内容
加载中
试试用AI创作助手写篇文章吧