Каков был бы самый легкий способ сделать a CharSequence[]
из ArrayList<String>
?
Уверенный я мог выполнить итерации через каждый ArrayList
объект и копия к CharSequence
массив, но возможно существует лучший/быстрее путь?
Для этого можно использовать 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]
Учитывая, что тип String
уже реализует CharSequence
, это преобразование так же просто, как попросить список скопировать себя в свежий массив, который на самом деле не будет копировать никаких базовых символьных данных. Вы просто копируете ссылки на экземпляры String
:
final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);