Konvertierung von List in Array in Java: Wie macht man es richtig?
Hallo zusammen! Ich lerne gerade Java und bin auf ein Problem gestoßen. Ich habe eine ArrayList mit Strings und muss sie in ein gewöhnliches String[]-Array konvertieren, um es an eine alte Methode zu übergeben, die nur Arrays akzeptiert.
Ich habe folgenden Code geschrieben:
```java
List list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
// Versuch 1: Einfach zuweisen
String[] array = list; // Compiler-Fehler: incompatible types
// Versuch 2: toArray() verwenden
String[] array2 = list.toArray(); // Fehler: Object[] cannot be converted to String[]
```
Die erste Variante funktioniert nicht, weil List ein Interface und kein Array ist. Die zweite Variante gibt Object[] zurück, obwohl die Liste nur Strings enthält. Ich habe gelesen, dass man die überladene Methode toArray(T[] a) verwenden kann, verstehe aber nicht ganz, wie sie funktioniert.
Könnt ihr mir bitte sagen, wie man List korrekt und effizient in String[] konvertiert? Welche Fallstricke gibt es? Vielen