Wie wandelt man eine Sammlung in ein Array?
Die Unterschiede beider Methoden bestehen in den Parametern und
den Rückgabetypen. Wie im Beispiel zu sehen liefert Collection.toArray()
ein Object-Array, das in der Größe der
Größe der Sammlung entspricht.
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
}
}
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.