将CharSequence[]
作为ArrayList<String>
的最简单方法是什么?ArrayList <String> to CharSequence []
当然,我可以遍历每个ArrayList
项目和复制到CharSequence
数组,但也许有更好/更快的方式?
将CharSequence[]
作为ArrayList<String>
的最简单方法是什么?ArrayList <String> to CharSequence []
当然,我可以遍历每个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()]);
+1 - 重点是'CharSequence'是一个接口,'String'实现它。 – 2010-06-13 13:26:28