此代码是可以将双精度值以 double[] 的形式保存到文件中的部分。我想使用保存的值绘制折线图。它应该采用"双[]"形式。如何读取保存的值"双列表"?
--这是我修复的新代码。 "double[] value = (double[]) ois.readObject();" 行中存在错误。它说"重复的局部变量值"
public static double[] getValue(){
FileInputStream fis = null;
ObjectInputStream ois = null;
List<Double> newList = new ArrayList<Double>();
double[] value;
try {
fis = new FileInputStream("user_data.txt");
ois = new ObjectInputStream(fis);
double[] value = (double[]) ois.readObject();
} catch (Exception ex) {
try {
fis.close();
ois.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return value;
}
在getDoubles()
更改中:
newList = (ArrayList<Double>) ois.readObject();
自
double[] doubles = (double[]) ois.readObject();
newList = new ArrayList<Double>(doubles.length);
for (Double d : doubles) {
newList.add(d);
}
这里的主要问题是没有一种非常方便的方法将原语数组(在这种情况下double
)转换为对象数组(在这种情况下Double
)。