C'est le meilleur moyen (IMHO).
List<String> myArrayList = new ArrayList<String>();
//.....
String[] myArray = myArrayList.toArray(new String[myArrayList.size()]);
Ce code fonctionne aussi :
String[] myArray = myArrayList.toArray(new String[0]);
Mais c'est moins efficace : le tableau de chaînes est créé deux fois : la première fois qu'un tableau de longueur nulle est créé, puis le tableau de taille réelle est créé, rempli et renvoyé. Donc, si vous connaissez la taille nécessaire (à partir de list.size()
), vous devez créer un tableau suffisamment grand pour mettre tous les éléments. Dans ce cas, il n'est pas réaffecté.