在 Java 中将 'ArrayList<String> 转换为 'String[]'

2022-08-31 03:55:57

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


答案 1
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[]

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


答案 2

Java 8 中的替代方案:

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

Java 11+:

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