Returns an array containing all of the elements in this list in
proper sequence (from first to last element); the runtime type of
the returned array is that of the specified array. If the list fits
in the specified array, it is returned therein. Otherwise, a new
array is allocated with the runtime type of the specified array and
the size of this list.
If this list fits in the specified array with room to spare
(i.e., the array has more elements than this list), the element in
the array immediately following the end of the list is set to
null. (This is useful in determining the length of this
list only if the caller knows that this list does not contain
any null elements.)
Like the CopyOnWriteArrayList.toArray()
method, this method acts as bridge between
array-based and collection-based APIs. Further, this method allows
precise control over the runtime type of the output array, and may,
under certain circumstances, be used to save allocation costs.
Suppose x is a list known to contain only strings.
The following code can be used to dump the list into a newly
allocated array of String:
String[] y = x.toArray(new String[0]);
Note that
toArray(new Object[0]) is identical in function to
toArray().
Returns:
an array containing all the elements in this list
Parameters:
-
a - the array into which the elements of the list are to
be stored, if it is big enough; otherwise, a new array of the
same runtime type is allocated for this purpose.
Throws:
-
ArrayStoreException - if the runtime type of the specified array
is not a supertype of the runtime type of every element in
this list
-
NullPointerException - if the specified array is null