android studio 中两个变量都是浮点数时出现 ClassCastException

ClassCastException when both the variables are floats in android studio

我的代码有一个 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

变量在同一个方法中定义(class中的私有方法)并且都是浮点数(ArrayList的元素也是浮点数)。为什么会出现此错误?我做错了什么吗?

谢谢。

真正的问题是 FLOAT 强制 getValue 转换使用 DOUBLE。 挖掘更多之后,我得到了解决方案。我使用了以下方法:

Float.valueOf(String.valueOf(double_variable));

例如:

smoothedValue = Float.valueOf(String.valueOf(dummyArray.get(dummyArray.size()-1)));