Java 向列表中添加双值<;双[]>;

Java 向列表中添加双值<;双[]>;,java,android,Java,Android,我正在制作一个android应用程序,我需要将双倍值(BodySize)以列表的形式保存到一个文件中,以绘制一个图表。实际上,这段代码是以“List”的形式出现的,我试图将其更改为“List”。但它在“list.add(BodySize)”中出错。我如何解决这个问题 public static void updateFile(double BodySize) { FileOutputStream fos = null; ObjectOutput

我正在制作一个android应用程序,我需要将双倍值(BodySize)以列表的形式保存到一个文件中,以绘制一个图表。实际上,这段代码是以“List”的形式出现的,我试图将其更改为“List”。但它在“list.add(BodySize)”中出错。我如何解决这个问题

 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);