从CharSequence[]
中制作ArrayList<String>
的最简单方法是什么?
当然,我可以遍历每个ArrayList
项目并复制到CharSequence
数组,但也许有更好/更快的方式?
答案 0 :(得分:231)
您可以使用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]
答案 1 :(得分:13)
鉴于类型String
已经实现CharSequence
,这种转换就像要求列表将自身复制到一个新数组一样简单,它不会实际复制任何底层字符数据。您只是复制对String
个实例的引用:
final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);