造成此问题的原因是,业务系统希望获得 int 值,但是数据中心返回浮点数,且通过 Object 接收返回值。
都是很基础的东西,但确实让我试验了几次,记录一下,强化记忆。
思路一:强转
(Integer )obj.toString();
报错 java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
思路二: parse 转换
Integer.parseInt(obj.toString());
报错 java.lang.NumberFormatException: For input string: "3.2"
思路三: 先转换为 float
Math.floor(Float.parseFloat(obj.toString()));
可行
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于