Esta es la mejor manera (en mi humilde opinión).
List<String> myArrayList = new ArrayList<String>();
//.....
String[] myArray = myArrayList.toArray(new String[myArrayList.size()]);
Este código funciona también:
String[] myArray = myArrayList.toArray(new String[0]);
Pero es menos eficaz: la matriz de cadenas se crea dos veces: se crea por primera vez matriz de longitud cero, entonces se crea la matriz de tamaño real, lleno y volvió. Por lo tanto, si conoce el tamaño necesario (desde list.size()
), debe crear una matriz lo suficientemente grande como para poner todos los elementos. En este caso, no se vuelve a asignar.
Usted * puede *, pero no nos ha dado suficiente información para decirle si es una buena idea o no. –
ArrayLists están bien. La única razón por la que puedo ver para convertir a una matriz es si necesita llamar a un método que lo requiera. –