toArray()
方法语法:
public Object[] toArray(); public T[] toArray(T[] elements);
toArray()方法在java.util包中可用。
toArray()方法用于将给定的Arraylist转换为数组,换句话说,该方法用于返回包含该Arraylist中所有元素的数组。
toArray(T [] elements)方法用于返回运行时类型为给定数组T []的数组,当此Arraylist适合给定数组时,将返回同一数组,否则分配新数组给定数组的类型。
toArray()方法在返回数组时不会引发异常。
toArray(T [] elements)方法在返回数组时可能会引发异常。
ArrayStoreException:如果给定数组T []的动态类型不是此Arraylist中元素的动态类型的父类型,则可能引发此异常。
NullPointerException:当给定数组为null时,可能引发此异常。
这些是非静态方法,可通过类对象访问,如果尝试使用类名称访问这些方法,则会收到错误消息。
参数:
在第一种情况下,toArray():它不接受任何参数。
在第二种情况下,toArray(T [] elements):
T [] elements –表示要存储元素的数组,当它能够存储其他元素时,它将根据相同动态类型的大小创建一个新数组。
返回值:
在第一种情况下,方法的返回类型为Object()
,它返回一个Object类型的数组,其中包含此Arraylist中的所有元素。
在第二种情况下,该方法的返回类型为T [],它将返回一个包含该数组所有元素的数组。
示例
//Java程序演示示例 //toArray()ArrayList的void方法的说明 import java.util.*; public class ToArrayOfArrayList { public static void main(String args[]) { //创建一个具有初始容量的ArrayList- //存储元素 ArrayList < String > arr_l = new ArrayList < String > (10); String str_l[] = new String[4]; //通过使用add()方法是添加元素 //在ArrayList- arr_l.add("C"); arr_l.add("C++"); arr_l.add("Java"); arr_l.add("DotNet"); //显示ArrayList- System.out.println("ArrayList Elements :" + arr_l); System.out.println(); //显示字符串数组 for (String s: str_l) System.out.println("str_l :" + s); //通过使用toArray()方法是将 //集合到数组 Object[] o = arr_l.toArray(); System.out.println(); //显示ArrayList- for (Object val: arr_l) System.out.println("arr_l.toArray() : " + val); //通过使用toArray(T [])方法可简化 //给定数组的集合 str_l = arr_l.toArray(str_l); System.out.println(); //显示str_l- for (String val1: str_l) System.out.println("arr_l.toArray(str_l) : " + val1); } }
输出结果
ArrayList Elements :[C, C++, Java, DotNet] str_l :null str_l :null str_l :null str_l :null arr_l.toArray() : C arr_l.toArray() : C++ arr_l.toArray() : Java arr_l.toArray() : DotNet arr_l.toArray(str_l) : C arr_l.toArray(str_l) : C++ arr_l.toArray(str_l) : Java arr_l.toArray(str_l) : DotNet