Java将ArrayList转换为int数组

时间:2015-06-09 19:02:26

标签: java arrays arraylist

我想将我的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更改为Double,可能有更改此代码的建议吗?我有这种代码安静无法工作吗?

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

5 个答案:

答案 0 :(得分:2)

使用它:

>>>from django.conf import settings
>>>print (settings.TEMPLATE_DIRS)
('/root/Documents/tryDjango/static/templates',)

>>> from django.template import loader
>>> print(loader.get_template('home.html'))
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/root/Documents/tryDjango/lib/python3.4/site-packages/django/    template/loader.py", line 46, in get_template
  raise TemplateDoesNotExist(template_name)
  django.template.base.TemplateDoesNotExist: home.html

答案 1 :(得分:1)

异常消息说明了 - 您的ArrayList包含String值。您应该使用泛型作为ArrayList<String>来防止此运行时失败

答案 2 :(得分:0)

你无法在String上应用强制转换,使其成为双倍 -

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

您的listArrayList Stirng。因此,您必须将每个String项目从list转换为double,如下所示 -

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

    }
}

答案 3 :(得分:0)

我有了主意。我只是将我的ArrayList转换为ArrayList 然后你的代码示例将与我的相同......

答案 4 :(得分:0)

使用此代码:

{123: set('US', 'AZ', 'AG'), 948: set('US'), 200: set('US'), 132: set('AG')}