【发布时间】:2011-03-03 05:15:52
【问题描述】:
用ArrayList<String> 制作CharSequence[] 的最简单方法是什么?
当然我可以遍历每个 ArrayList 项目并复制到 CharSequence 数组,但也许有更好/更快的方法?
【问题讨论】:
标签: java arraylist charsequence
用ArrayList<String> 制作CharSequence[] 的最简单方法是什么?
当然我可以遍历每个 ArrayList 项目并复制到 CharSequence 数组,但也许有更好/更快的方法?
【问题讨论】:
标签: java arraylist charsequence
鉴于String 类型已经实现CharSequence,这种转换就像要求列表将自身复制到一个新数组中一样简单,这实际上不会复制任何底层字符数据。您只是在复制对 String 实例的引用:
final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);
【讨论】:
您可以为此使用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]
【讨论】:
CharSequence 是一个接口,String 实现了它。