Conversão de Lista (List) para Array (Array) em Java: como fazer corretamente?
Olá a todos! Estou começando a aprender Java e me deparei com um problema. Tenho um ArrayList com strings e preciso convertê-lo em um array comum String[] para passar para algum método antigo que aceita apenas arrays.
Escrevi o seguinte código:
```java
List list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
// Tentativa 1: simplesmente atribuir
String[] array = list; // Erro de compilação: tipos incompatíveis
// Tentativa 2: usar toArray()
String[] array2 = list.toArray(); // Erro: Object[] cannot be converted to String[]
```
A primeira opção não funciona porque List é uma interface, não um array. A segunda opção retorna Object[], não String[], embora a lista contenha apenas strings. Li que é possível usar o método sobrecarregado toArray(T[] a), mas não entendo completamente como ele funciona.
Por favor, me digam como converter corretamente e eficientemente List para String[]? Quais são as armadilhas? Desde já agradeço.