ArrayList <String> в CharSequence []
Каким будет самый простой способ сделать CharSequence[]
из ArrayList<String>
?
Конечно, я мог бы выполнять итерацию через каждый элемент ArrayList
и копировать в массив CharSequence
, но, возможно, есть лучший/более быстрый способ?
Ответы
Ответ 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()]);