Если ваше приложение уже использует Apache Commons lib, вы можете слегка изменить принятый ответ, чтобы каждый раз не создавать новый пустой массив:
List<String> list = ..;
String[] array = list.toArray(ArrayUtils.EMPTY_STRING_ARRAY);
// or if using static import
String[] array = list.toArray(EMPTY_STRING_ARRAY);
Существует еще несколько предварительно выделенных пустых массивов различных типов.в ArrayUtils
.
Также мы можем обмануть JVM, чтобы создать для нас пустой массив следующим образом:
String[] array = list.toArray(ArrayUtils.toArray());
// or if using static import
String[] array = list.toArray(toArray());
Но на самом деле нет никакого преимущества, просто вопрос вкуса, IMO.