Как это:
List<String> list = new ArrayList<String>();
String[] a = list.toArray(new String[0]);
До Java6 было рекомендовано написать:
String[] a = list.toArray(new String[list.size()]);
потому что внутренняя реализация в любом случае перераспределит массив правильного размера, поэтому вам лучше сделать это заранее. Поскольку Java6 предпочтителен пустой массив, см. .toArray (новый MyClass [0]) или .toArray (новый MyClass [myList.size ()])?
Если ваш список напечатан неправильно, вам нужно выполнить приведение перед вызовом toArray. Как это:
List l = new ArrayList<String>();
String[] a = ((List<String>)l).toArray(new String[l.size()]);