Это лучший способ (ИМХО).
List<String> myArrayList = new ArrayList<String>();
//.....
String[] myArray = myArrayList.toArray(new String[myArrayList.size()]);
Этот код также работает:
String[] myArray = myArrayList.toArray(new String[0]);
Но он менее эффективен: массив строк создается дважды: сначала создается массив нулевой длины, затем создается, заполняется и возвращается массив реального размера. Итак, если вы знаете необходимый размер (от list.size()
), вы должны создать массив, достаточно большой для размещения всех элементов. В этом случае он не перераспределяется.