ArrayList<String> to CharSequence[]

2022-08-31 12:55:48

最简单的方法是什么?CharSequence[]ArrayList<String>

当然,我可以迭代每个项目并复制到数组,但也许有更好/更快的方法?ArrayListCharSequence


答案 1

你可以使用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]

答案 2

鉴于该类型已经实现,这种转换就像要求列表将自身复制到一个新数组中一样简单,这实际上不会复制任何底层字符数据。您只是在以下位置复制对实例的引用:StringCharSequenceString

final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);

推荐