CharSequence[]
からArrayList<String>
を作成する最も簡単な方法は何ですか?
確かに、すべてのArrayList
アイテムを反復処理してCharSequence
配列にコピーできますが、より良い/より速い方法がありますか?
これには List#toArray(T[])
を使用できます。
CharSequence[] cs = list.toArray(new CharSequence[list.size()]);
ここに小さなデモがあります:
List<String> list = Arrays.asList("foo", "bar", "waa");
CharSequence[] cs = list.toArray(new CharSequence[list.size()]);
System.out.println(Arrays.toString(cs)); // [foo, bar, waa]
タイプString
が既にCharSequence
を実装していることを考えると、この変換はリストに自身を新しい配列にコピーするように要求するのと同じくらい簡単です。単にString
インスタンスへの参照をコピーしています:
final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);