1

重複の可能性:
JavaでのArrayListへの配列の割り当て

次のような文字列の配列を変換するにはどうすればよいですか?

String logsSplitFromUrdu[] = fromTheRecentLogFile.split("غزل");

ArrayList<String>

編集:

エラーが発生したときのようにやっていた:

ArrayList<String> time = (ArrayList<String>)Arrays.asList(logsSplitFromUrdu);

編集 :

上記を実行したときに発生する例外:

java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList
    at Tester.main(Tester.java:26)
4

6 に答える 6

2

クラスのメソッドArrays.asList()を使用します。正しいジェネリック型 (この場合)Arraysを返します。ListString

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

がどうしても必要で、ArrayList<String>それList<String>ができない場合は、前の行の後に 1 行追加します。

ArrayList<String> arraylist = new ArrayList<String>(list);
于 2012-10-14T14:51:54.770 に答える
2

をご覧くださいArrays#asList。このメソッドはfixed sizeリストを返します。

したがって、もしあなたが なら、ok with fixed size listこれを使うことができます: -

List<String> fixedList = Arrays.asList(logsSplitFromUrdu);

ただし、want to modify新しく作成した場合は、次のListように作成する必要があります。

ArrayList<String> modifiableList = 
             new ArrayList<String>(Arrays.asList(logsSplitFromUrdu))

しかし、あなたはこのようにすべきではありません: -

ArrayList<String> modifiableList = 
                  (ArrayList<String>)Arrays.asList(logsSplitFromUrdu))

ClassCastExceptionから返されるリストArrays.asListのタイプは次のとおりです: -にキャストすることjava.util.Arrays.ArrayListはできません: -java.util.ArrayList

UPDATE : -java.util.Arrays#ArrayListクラスで定義された静的クラスArraysです。

于 2012-10-14T14:54:36.657 に答える
0

次のように、単に for ループを使用して、配列のすべての要素を新しい ArrayList にコピーできます。

ArrayList<String> logsList = new ArrayList<String>();
for(int i = 0; i < logsSplitFromUrdu.length; i++)
{
    logsList.add(logsSplitFromUrdu[i]);
}

この後、logsList には元の配列のすべての要素が含まれます。

于 2012-10-14T15:19:38.223 に答える
0

の戻り型

Arrays.asList(logsSplitFromUrdu);

List<String>キャストできませんArrayList<String>。代わりに、次を使用できます。

List<String> myList = Arrays.asList(logsSplitFromUrdu);

変更不可能なリストを返します。変更可能なリストを取得するには、次を使用できます。

ArrayList<String> modifyiableList = new ArrayList<String>(myList); 
modifyiableList.add("...");
于 2012-10-14T14:52:06.373 に答える
0

Java.util.Arrays の asList メソッドを使用する必要があります。こちらのドキュメントを参照してください。

于 2012-10-14T14:52:53.283 に答える
0

Arrays.asList()メソッドを使用してをに変換arrayしますArrayList

String logsSplitFromUrdu[] = fromTheRecentLogFile.split("غزل");

ArrayList<String> arList = new ArrayList<String>(Array.asList(logsSplitFromUrdu));
于 2012-10-14T14:55:51.177 に答える