当两个变量在 android studio 中都是浮点数时 ClassCastException

我的代码定义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也是浮点型)。为什么我会收到此错误?我做错了什么吗?


HUH函数
浏览 50回答 1
1回答

aluckdog

真正的问题是 FLOAT 强制 getValue 强制转换为使用 DOUBLE。经过更多挖掘后,我得到了解决方案。我使用了以下方法:Float.valueOf(String.valueOf(double_variable));例如:smoothedValue&nbsp;=&nbsp;Float.valueOf(String.valueOf(dummyArray.get(dummyArray.size()-1)));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java