Avatar ·

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?