Це найкращий спосіб (ІМХО).
List<String> myArrayList = new ArrayList<String>();
//.....
String[] myArray = myArrayList.toArray(new String[myArrayList.size()]);
Цей код також працює:
String[] myArray = myArrayList.toArray(new String[0]);
Але це менш ефективно: рядковий масив створюється двічі: спочатку створюється масив нульової довжини, потім створюється, заповнюється та повертається масив реального розміру. Отже, якщо ви знаєте необхідний розмір (від list.size()
), ви повинні створити масив, який є достатньо великим, щоб розмістити всі елементи. У цьому випадку він не перерозподіляється.