Avatar ·

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.