Java:toArray(new String[0])
在Java中,toArray(new String[0]) 是一种将集合(如 List)转换为数组的推荐方式。以下是详细解释:
1. 作用
将集合(如 ArrayList、LinkedList)转换为指定类型的数组(这里是 String[])。
参数 new String[0] 用于指定目标数组的类型和初始大小。
2. 为什么推荐 new String[0]?
性能优化:JDK内部会检查传入数组的长度是否足够:
如果长度不足(如 new String[0]),JDK会直接创建一个新数组。
如果长度足够(如 new String[list.size()]),JDK会复用该数组。
代码简洁:new String[0] 更简洁,且现代JDK版本对其有优化。
3. 与其他方式的对比
toArray():返回 Object[],需要强制类型转换。
toArray(new String[list.size()]):功能相同,但现代JDK中性能差异可以忽略。
4. 示例
List<String> list = List.of("a", "b", "c");
String[] array = list.toArray(new String[0]); // 推荐方式
5. 注意事项
如果集合包含 null,转换后的数组也会保留 null。
适用于任何实现了 Collection 接口的类(如 Set、Queue)。