📜  Java中的 ArrayList 到数组转换:toArray() 方法(1)

📅  最后修改于: 2023-12-03 15:16:20.238000             🧑  作者: Mango

Java中的 ArrayList 到数组转换:toArray() 方法

在 Java 开发中, ArrayList 是比较常用的集合类,而有时候需要将 ArrayList 转换为数组进行处理或操作。这时候就需要使用 ArrayList 的 toArray() 方法了。

toArray() 方法详解

toArray() 方法是 ArrayList 类中的方法,它的作用是将 ArrayList 转换为数组,该方法有两种重载形式:

// 返回类型为 Object 类型的数组
Object[] toArray()

// 返回类型为指定类型的数组,即 T[]
<T> T[] toArray(T[] a)
toArray() 方法使用示例

下面我们通过示例来演示 toArray() 方法的使用过程:

import java.util.ArrayList;

public class ArrayListToArray {
    public static void main(String[] args) {
        // 创建 ArrayList
        ArrayList<String> arrayList = new ArrayList<String>();

        // 添加元素
        arrayList.add("Java");
        arrayList.add("Python");
        arrayList.add("C++");
        arrayList.add("JavaScript");

        // 转换为数组
        Object[] array1 = arrayList.toArray();
        String[] array2 = arrayList.toArray(new String[arrayList.size()]);
        
        // 遍历元素
        System.out.println("Object Array:");
        for (Object obj : array1) {
            System.out.print(obj + " ");
        }
        System.out.println();

        System.out.println("String Array:");
        for (String str : array2) {
            System.out.print(str + " ");
        }
        System.out.println();
    }
}

输出结果如下:

Object Array:
Java Python C++ JavaScript 
String Array:
Java Python C++ JavaScript 

从输出结果可以看出,toArray() 方法将 ArrayList 转换为了数组,并且可以根据传入的参数类型返回指定类型的数组。

toArray() 方法注意点
  1. toArray() 方法返回的是一个 Object 类型或指定类型的数组对象,因此需要进行强制类型转换或使用泛型机制进行转换;
  2. 如果传入的数组 a 的长度小于等于 ArrayList 的长度,toArray() 方法会直接使用传入的数组,否则会新建一个指定类型的数组。
总结

到这里,我们已经学会了使用 ArrayList 的 toArray() 方法将集合类转换为数组对象了,希望对大家有所帮助。需要注意的是,在实际应用中,我们需要对 toArray() 方法返回的数组对象进行判空处理。