ArrayList <String>转换为CharSequence []


75

制作CharSequence[]出来的最简单方法是什么ArrayList<String>什么?

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

Answers:


250

您可以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]

16
+1-关键是它CharSequence是一个接口并String实现它。
斯蒂芬·C

15

给定该类型String已经实现的情况CharSequence,此转换非常简单,就像要求列表将自身复制到一个新数组中一样,该数组实际上不会复制任何基础字符数据。您只是将引用复制到以下String实例:

final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.