- ArrayList提供了一个将List转为数组的一个非常方便的方法toArray。
- toArray有两个重载的方法:
(1)list.toArray(); //将List直接转为Object[] 数组,无法将Object[] 直接转化为具体类型的数组。
(2)list.toArray(T[] a); //将list转化为自定义的需要的类型的数组

代码实操说明
方法 list.toArray()
public class ToArrayTest {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add(String.valueOf(i));
}
Object[] objects = list.toArray();
System.out.println(Arrays.toString(objects));
// 错误写法
// 这里无法直接将Object[]强转为String[]
// Object[] objects = (String[])list.toArray();
// 转化的话只能是取出每一个元素再转化。
// java中的强制类型转换只是针对单个对象的,无法直接整个数组转换成另外一种类型的数组是不行的
// 这和数组初始化时需要一个个来也是类似的。
//Object[] 转为 String[]
//如果想把Object[] 转为String[] 应该遍历得到每一个Object 逐个强转
//代码如下
String[] strings = new String[objects.length];
for (int i = 0; i < objects.length; i++) {
strings[i] = (String) objects[i];
}
System.out.println(Arrays.toString(strings));
}
}
list.toArray(T[] a)
public class ToArrayTest {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add(String.valueOf(i));
}
//new 一个字符串数组
String[] strings = new String[list.size()];
//将list转入strings中
list.toArray(strings);
System.out.println(Arrays.toString(strings));
}
}
本文介绍了Java中ArrayList类的toArray方法的使用方式,包括如何将ArrayList转换为Object数组以及如何转换为指定类型的数组。通过示例代码展示了两种不同的转换方法。
605





