我有一个我想要放入ArrayList的资源字符串数组,但是返回的数据类型是一个String数组。无法直接将字符串[]强制转换为ArrayList,而不会收到以下错误:
无法从String []强制转换为ArrayList
如何将String []数据类型转换为ArrayList?
修改
我有一个适配器,它的构造函数接受一个ArrayList和一个我要填充它的资源字符串数组。
答案 0 :(得分:6)
如果您可以使用List<String>
(而非具体的ArrayList<String>
),则可以使用:
List<String> list = Arrays.asList(stringArray);
否则,你可以这样做:
ArrayList<String> list = new ArrayList<String>(Arrays.asList(stringArray));
然而,后者的效率(在时间和对象创建计数方面)都低于其他建议的解决方案。它唯一的好处是它可以将代码保持在一行,并且很容易理解。
答案 1 :(得分:2)
public ArrayList<String> arrayToArrayList(String[] array){
ArrayList<String> arrayList = new ArrayList<String>(array.length);
for(String string : array){
arrayList.add(string);
}
return arrayList;
}
答案 2 :(得分:2)
这个怎么样
import java.util.Collections;
String[] myStringArray = new String[] {"foo", "bar", "baz"};
List myList = new ArrayList(myStringArray.length);
Collections.addAll(myList, myStringArray);