ArrayList<String> 到 CharSequence\[\]

新手上路,请多包涵

从 --- 中制作 CharSequence[] ArrayList<String> 最简单方法是什么?

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

原文由 Laimoncijus 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 480
2 个回答

您可以为此使用 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]

原文由 BalusC 发布,翻译遵循 CC BY-SA 2.5 许可协议

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

 final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);

原文由 seh 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题