0

ArrayList に入れたいリソース文字列配列がありますが、返されるデータ型は文字列配列です。次のエラーを受け取ることなく、string[] を ArrayList に直接キャストすることはできません。

String[] から ArrayList にキャストできません

String[] データ型を ArrayList に変換するにはどうすればよいですか?

編集

コンストラクターが ArrayList と、それに入力したいリソース文字列配列を受け取るアダプターがあります。

4

3 に答える 3

7

List<String>(具体的には ではない)で間に合わせることができる場合はArrayList<String>、次を使用できます。

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

それ以外の場合は、次のようにできます。

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

ただし、後者は、他の提案されたソリューションよりも (時間とオブジェクト作成数の両方で) 効率的ではありません。その唯一の利点は、コードを 1 行に抑え、一目で理解しやすいことです。

于 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 に答える