ArrayList <String>到CharSequence []

Lai*_*jus 64 java arraylist charsequence

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

当然,我可以遍历每个ArrayList项目并复制到CharSequence数组,但也许有更好/更快的方式?

Bal*_*usC 235

你可以用List#toArray(T[])它.

CharSequence[] cs = list.toArray(new CharSequence[list.size()]);
Run Code Online (Sandbox Code Playgroud)

这是一个小小的演示:

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]
Run Code Online (Sandbox Code Playgroud)

  • +1 - 关键是`CharSequence`是一个接口,`String`实现它. (15认同)

seh*_*seh 13

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

final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);
Run Code Online (Sandbox Code Playgroud)