在 Java 中将“ArrayList<String>”转换为“String\[\]”

新手上路,请多包涵

我如何将 ArrayList<String> 对象转换为 Java 中的 String[] 数组?

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

阅读 425
2 个回答
List<String> list = ..;
String[] array = list.toArray(new String[0]);

例如:

 List<String> list = new ArrayList<String>();
//add some stuff
list.add("android");
list.add("apple");
String[] stringArray = list.toArray(new String[0]);

不传递任何参数的 toArray() 方法返回 Object[] 。所以你必须传递一个数组作为参数,它将用列表中的数据填充并返回。您也可以传递一个空数组,但您也可以传递一个具有所需大小的数组。

重要更新:最初上面的代码使用了 new String[list.size()] 。然而, 这篇博 文表明,由于 JVM 优化,现在使用 new String[0] 更好。

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

Java 8 中的替代方案:

 String[] strings = list.stream().toArray(String[]::new);

Java 11+:

 String[] strings = list.toArray(String[]::new);

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

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