大致意思:BigDecimal类型不能直接强行转换成Float类型
当我用FlinkCDC监听数据库,对获取到的数据进行转换计算时,发生了这个报错,下面是我的代码
Float rating= (Float) valueJson.get("rating");
解决方法:BigDecimal -> String -> Float
float rating = Float.parseFloat(valueJson.get("rating").toString());
ps
:BigDecimal 也不能直接强转为String,需要调用toString()方法
我数据库的数据类型为Float,不知道为什么监听到的数据类型变为了BigDecimal
思考:当发生这类(某类型不能转换为某类型)的问题,都应该先考虑Java底层类之间的继承、转换关系
标签:lang,rating,java,BigDecimal,Float,数据类型,toString From: https://www.cnblogs.com/Mr-Sponge/p/17053640.html