我的代码定义ArrayList为:ArrayList<Float> dummyArray = new ArrayList();和一个float变量定义为:float smoothedValue;代码执行如下: if(x==1 && dummyArray.size()>1) //x is an int{smoothedValue = dummyArray.get(dummyArray.size()-1); //Error here}我收到以下错误:java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Float变量在同一个方法(类中的私有方法)内定义,并且都是浮点型( 的元素ArrayList也是浮点型)。为什么我会收到此错误?我做错了什么吗?
1 回答
aluckdog
TA贡献1847条经验 获得超7个赞
真正的问题是 FLOAT 强制 getValue 强制转换为使用 DOUBLE。经过更多挖掘后,我得到了解决方案。我使用了以下方法:
Float.valueOf(String.valueOf(double_variable));
例如:
smoothedValue = Float.valueOf(String.valueOf(dummyArray.get(dummyArray.size()-1)));
添加回答
举报
0/150
提交
取消