java list<string> to string[] 怎么转换
·
在 Java 中将 List<String>转换为 String[]有几种常用方法,以下是具体示例:
方法1:使用 toArray()方法(推荐)
List<String> list = Arrays.asList("Apple", "Banana", "Orange");
// 方法1.1:传入指定大小的数组
String[] array1 = list.toArray(new String[list.size()]);
// 方法1.2:传入空数组(更简洁,Java 推荐写法)
String[] array2 = list.toArray(new String[0]);
方法2:使用 Stream API(Java 8+)
List<String> list = Arrays.asList("Apple", "Banana", "Orange");
// 使用 Stream 转换
String[] array = list.stream().toArray(String[]::new);
方法3:手动循环创建数组
List<String> list = Arrays.asList("Apple", "Banana", "Orange");
String[] array = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
array[i] = list.get(i);
}
完整示例代码
import java.util.Arrays;
import java.util.List;
public class ListToStringArray {
public static void main(String[] args) {
List<String> fruitList = Arrays.asList("Apple", "Banana", "Orange", "Grape");
// 方法1:使用 toArray(推荐)
String[] array1 = fruitList.toArray(new String[0]);
// 方法2:使用 Stream
String[] array2 = fruitList.stream().toArray(String[]::new);
// 验证结果
System.out.println("方法1结果: " + Arrays.toString(array1));
System.out.println("方法2结果: " + Arrays.toString(array2));
}
}
注意事项
-
空数组 vs 指定大小数组:
toArray(new String[0])在现代 Java 版本中性能很好,是推荐的写法 -
空列表处理:如果 List 可能为 null,需要先判空
-
不可变列表:
Arrays.asList()返回的列表大小固定,不能增删元素
安全转换(包含空值检查)
public static String[] safeConvert(List<String> list) {
if (list == null) {
return new String[0]; // 返回空数组而不是 null
}
return list.toArray(new String[0]);
}
推荐使用 list.toArray(new String[0]),这是最简洁且性能良好的方式。
更多推荐


所有评论(0)