76

から を作る最も簡単な方法は何CharSequence[]ですかArrayList<String>?

確かに、すべてのArrayListアイテムを反復処理して配列にコピーできますCharSequenceが、より良い/より高速な方法があるでしょうか?

4

2 に答える 2

254

これに使えます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]
于 2010-06-13T13:24:19.073 に答える
16

タイプStringがすでに実装されているCharSequence場合、この変換は、リストにそれ自体を新しい配列にコピーするように要求するのと同じくらい簡単です。これは、基になる文字データを実際にはコピーしません。String周りのインスタンスへの参照をコピーしているだけです:

final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);
于 2010-06-13T13:29:55.110 に答える