资源下载的ArrayList转换为int数组(Java convert ArrayList to i

2019-10-23 07:56发布

我想我的ArrayList转换为双[]数组。 为什么我不能投用这种方法,有什么不好?

public static void convert(ArrayList list, double array[]) {



    array = new double [list.size()];

    for (int x = 0; x < list.size(); x++) {

        array[x]=(double) list.get(x);

    }

}

我得到这个错误信息

String cannot be cast to java.lang.Double

我有这个代码的和平,如果我fropm原始类型的ArrayList改为双人间,也许建议更改此代码不能正常工作?

getTest().addAll(Arrays.asList(line.split(",")));

Answer 1:

用这个:

array[x]=Double.parseDouble(list.get(x));


Answer 2:

异常消息称它 - 你的ArrayList包含字符串值。 您应该使用仿制药ArrayList<String>防止这种运行时故障



Answer 3:

你可以不适用铸造上String ,使其翻一番这样的-

array[x]=(double) list.get(x); 

你的listArrayListStirng 。 所以,你必须每个转换String项从listdouble这样的-

public static void convert(ArrayList list, double array[]) {

    array = new double [list.size()];

    for (int x = 0; x < list.size(); x++) {

       array[x]=Double.parseDouble((String)list.get(x));

    }
}


Answer 4:

香港专业教育学院得到了主意。 我只是将我的ArrayList到那么ArrayList的代码示例将工作和我一样...



Answer 5:

使用此代码:

public static void convert(ArrayList list, double array[]) {

    array = new double [list.size()];

    for (int x = 0; x < list.size(); x++) 
    {
        Object value = list.get(x);
        if(value instanceof String)
        {
            array[x]=Double.parseDouble(value.toString());
        }
        else if(value instanceof Double)
        {
             array[x]=(double) list.get(x);
        }
        else if(value instanceof Integer)
        {
             array[x]=(int) list.get(x);
        }

    }    
}


文章来源: Java convert ArrayList to int array