我想将我的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(",")));
答案 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);
您的list
是ArrayList
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')}