无法从String []转换为ArrayList <string> </string>

时间:2012-10-03 19:51:52

标签: android arrays string casting

我有一个我想要放入ArrayList的资源字符串数组,但是返回的数据类型是一个String数组。无法直接将字符串[]强制转换为ArrayList,而不会收到以下错误:

无法从String []强制转换为ArrayList

如何将String []数据类型转换为ArrayList?

修改

我有一个适配器,它的构造函数接受一个ArrayList和一个我要填充它的资源字符串数组。

3 个答案:

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