Java ArrayList toArray() 方法

定义和用法

toArray() 方法返回包含列表中所有元素的数组。

如果不传递任何参数,那么返回的数组类型将是 Object。如果传递了数组作为参数,那么此方法将返回与参数数组具有相同数据类型的数组。

如果传递的数组足够大,能够容纳列表中的所有元素,那么此方法将在将列表元素写入该数组后返回该数组本身。

相关页面

教程:Java 数组

教程:Java ArrayList

实例

例子 1

从 ArrayList 中获取一个数组:

import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {
    ArrayList cars = new ArrayList();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    
    Object[] carsArray = cars.toArray();
    
    for(Object item : carsArray) {
      System.out.println(item);
    }
  }
}

亲自试一试

例子 2

指定 toArray() 的返回类型:

import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    
    String[] carsArray = new String[4];
    carsArray = cars.toArray(carsArray);
    
    for(String item : carsArray) {
      System.out.println(item);
    }
  }
}

亲自试一试

语法

以下之一:

public Object[] toArray()
public T[] toArray(T[] array)

其中,T 表示列表中元素的数据类型。

参数

参数 描述
array

可选。数组,指定返回数组的数据类型。

如果它有足够的空间来容纳列表中的元素,那么它将被方法返回。

如果数组不够大,那么方法将返回一个具有相同数据类型的新数组。

技术细节

返回: 包含 ArrayList 中所有元素(按顺序)的数组。
抛出:
  • ArrayStoreException - 如果数组的类型与 ArrayList 的类型不兼容。
  • NullPointerException - 如果参数是 null。