Conversión de List a Array en Java: ¿cómo hacerlo correctamente?
¡Hola a todos! Estoy empezando a aprender Java y me encontré con este problema. Tengo un ArrayList con cadenas y necesito convertirlo en un array String[] para pasarlo a un método antiguo que solo acepta arrays.
Escribí este código:
```java
List list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
// Intento 1: simplemente asignar
String[] array = list; // Error de compilación: tipos incompatibles
// Intento 2: usar toArray()
String[] array2 = list.toArray(); // Error: Object[] no se puede convertir a String[]
```
La primera opción no funciona porque List es una interfaz, no un array. La segunda opción devuelve Object[], no String[], aunque en la lista solo hay cadenas. Leí que se puede usar el método sobrecargado toArray(T[] a), pero no entiendo bien cómo funciona.
Por favor, indíquenme cómo convertir correcta y eficientemente List a String[]. ¿Cuáles son los posibles problemas?