0

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

无法从 String[] 转换为 ArrayList

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

编辑

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

4

3 回答 3

7

如果您可以使用 a List<String>(而不是特别是 a ArrayList<String>),您可以使用:

List<String> list = Arrays.asList(stringArray);

否则,您可以这样做:

ArrayList<String> list = new ArrayList<String>(Arrays.asList(stringArray));

但是,与其他建议的解决方案相比,后者的效率较低(在时间和对象创建计数方面)。它唯一的好处是它将代码精简到一行,并且一目了然。

于 2012-10-03T20:05:58.497 回答
2
public ArrayList<String> arrayToArrayList(String[] array){
    ArrayList<String> arrayList = new ArrayList<String>(array.length);
    for(String string : array){
        arrayList.add(string);
    }

    return arrayList;
}
于 2012-10-03T19:55:20.260 回答
2

这个怎么样

import java.util.Collections; 

String[] myStringArray = new String[] {"foo", "bar", "baz"}; 
List myList = new ArrayList(myStringArray.length);
Collections.addAll(myList, myStringArray); 
于 2012-10-03T19:55:32.397 回答