2010-06-13 150 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()]); 
相關問題