Java 向列表中添加双值<;双[]>;
我正在制作一个android应用程序,我需要将双倍值(BodySize)以列表的形式保存到一个文件中,以绘制一个图表。实际上,这段代码是以“List”的形式出现的,我试图将其更改为“List”。但它在“list.add(BodySize)”中出错。我如何解决这个问题Java 向列表中添加双值<;双[]>;,java,android,Java,Android,我正在制作一个android应用程序,我需要将双倍值(BodySize)以列表的形式保存到一个文件中,以绘制一个图表。实际上,这段代码是以“List”的形式出现的,我试图将其更改为“List”。但它在“list.add(BodySize)”中出错。我如何解决这个问题 public static void updateFile(double BodySize) { FileOutputStream fos = null; ObjectOutput
public static void updateFile(double BodySize) {
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try{
List<double[]> list = getDoubles();
list.add(BodySize);
fos = new FileOutputStream("user_data.txt");
oos = new ObjectOutputStream(fos);
oos.writeObject(list);
}catch(Exception e){
e.printStackTrace();
try {
oos.close();
fos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
public static List<double[]> getDoubles() {
FileInputStream fis = null;
ObjectInputStream ois = null;
List<double[]> newList = new ArrayList<double[]>>();
try {
fis = new FileInputStream("user_data.txt");
ois = new ObjectInputStream(fis);
newList = (ArrayList<double[]>) ois.readObject();
} catch (Exception ex) {
try {
fis.close();
ois.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return newList;
}
publicstaticvoidupdatefile(双倍车身尺寸){
FileOutputStream=null;
ObjectOutputStream oos=null;
试一试{
List=getDoubles();
列表。添加(车身尺寸);
fos=新文件输出流(“user_data.txt”);
oos=新对象输出流(fos);
oos.writeObject(列表);
}捕获(例外e){
e、 printStackTrace();
试一试{
oos.close();
fos.close();
}捕获(IOE1异常){
e1.printStackTrace();
}
}
}
公共静态列表getDoubles(){
FileInputStream fis=null;
ObjectInputStream ois=null;
List newList=newarraylist>();
试一试{
fis=新文件输入流(“user_data.txt”);
ois=新的ObjectInputStream(fis);
newList=(ArrayList)ois.readObject();
}捕获(例外情况除外){
试一试{
fis.close();
ois.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}
返回newList;
}
Bodysize是一个double,列表类型为double[](double数组)新建ArrayList()
创建一个double数组列表,而不是double列表。列表本身是一个数组(长度可变),因此只需使用:
List<Double> newList = new ArrayList<Double>();
List newList=newarraylist();
List List=getDoubles();
列表。添加(车身尺寸);
BodySize
属于double
类型,而List
需要double[]
该列表包含双数组,您正在尝试添加双值。试着根据Kazekage Gaara的回答来实现。我不熟悉list、double[]和double等类型。我要做的是以数组[]的形式保存双值(BodySize)。我应该怎么做?然后在实现如此复杂的程序之前先了解它们。而且也没有人知道user_data.txt中的内容是什么。“List”与“double[]”相同吗?ArrayList是一个数组,它随着添加更多元素而自动增长。一个简单的double[]数组的长度是固定的,不能更改。不,这个列表是一个double对象的列表,后者是一个double对象的数组(注意这些情况),我必须使用这些值使用AchartEngine绘制一个线图。在其演示代码中,它使用double[]type作为值来绘制图形。在这种情况下,我还可以使用列表吗?可以将列表转换为双[],阅读此问题了解更多信息:现在我可以理解我的错误。我想以ou double[]的形式保存双倍值(BodySize)。请给我一些帮助。
List<double[]> list = getDoubles();
list.add(BodySize);