2010-06-13 59 views

回答

209

您可以使用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] 
+15

+1 - 重点是'CharSequence'是一个接口,'String'实现它。 – 2010-06-13 13:26:28

12

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

final CharSequence[] chars = list.toArray(new CharSequence[list.size()]); 
相关问题