我的代碼定義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
提交
取消