Подтвердить что ты не робот

ArrayList <String> в CharSequence []

Каким будет самый простой способ сделать CharSequence[] из ArrayList<String>?

Конечно, я мог бы выполнять итерацию через каждый элемент ArrayList и копировать в массив CharSequence, но, возможно, есть лучший/более быстрый способ?

4b9b3361

Ответ 1

Вы можете использовать List#toArray(T[]) для этого.

CharSequence[] cs = list.toArray(new CharSequence[list.size()]);

Вот небольшая демонстрация:

List<String> list = Arrays.asList("foo", "bar", "waa");
CharSequence[] cs = list.toArray(new CharSequence[list.size()]);
System.out.println(Arrays.toString(cs)); // [foo, bar, waa]

Ответ 2

Учитывая, что тип String уже реализует CharSequence, это преобразование так же просто, как попросить список скопировать себя в новый массив, который фактически не будет копировать какие-либо базовые данные символов. Вы просто копируете ссылки на экземпляры String:

final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);