Die Methode Collection.toArray(Object[] o) verlangt als Parameter ein Array des Typs der zu speichernden Elemente. Dessen Größe ist hierbei unerheblich: Ist das übergebene Array zu klein, wird ein neues, passendes des gleichen Typs erstellt, ist es zu groß, werden die verbleibenden Positionen nach hinten mit null aufgefüllt.
import java.util.LinkedList;
import java.util.List;
public class CollectionToArray {
public static void main(String[] args) {
List<String> list = new LinkedList<String>();
list.add("eins");
list.add("zwei");
list.add("drei");
Object[] objArr = list.toArray();
String[] str = new String[0];
String[] strArr = list.toArray(str);
for(Object o : objArr){
System.out.println("Object: " + o);
}
for(String s : strArr){
System.out.println("String: " + s);
}
System.out.println("Object[] == String[]: " + (objArr == strArr)); // false
System.out.println("Object[0] == String[0]: " + (objArr[0] == strArr[0])); // true
}
}