我正試圖在我的代碼中處理大量源自單個臨界點的ClassCastExceptions。我將從提供這個問題的一些背景信息開始將對象轉換爲Java中的雙精度
我正在從csv文件中讀取不同類型的值。以下是保存它們的類的快照。
public class Row {
private Object[] data;
public Object getAtIndex(int i)
{
return data[i];
}
}
用於保持文件的不同行,我使用的是
ArrayList<Row> rows;
的問題在於一個函數,它是應該返回的一個雙[]含有值存儲在ArrayList中的特定列。我目前的函數看起來像這樣
public Double[] getByIndex(int i)
{
Double[] result = new Double[rows.size()];
String temp;
for(int j=0;j<rows.size();j++)
{
temp =(String)rows.get(j).getAtIndex(i); //java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.String
result[j]=Double.parseDouble(temp);
}
return result;
}
這getByIndex()調用時拋出ClassCastExceptions異常。我確保我只爲那些預計會有Double值的列調用這個函數。 是否有任何其他方式來促進此對象的雙重轉換。由於這個問題,我的進度停頓了。 請幫忙。
你行已經包含在您電話中的一個雙去,你想投它到一個字符串。你如何填充你的行? –
謝謝大家!特別感謝@vizier的KISS兼容解決方案:) 我從來不知道StackOverflow上的響應如此之快。讓我想要在這樣一個充滿活力的社區中活躍起來。你們好棒! –