Quelle serait la façon la plus simple de créer un CharSequence[]
hors de ArrayList<String>
?
Bien sûr, je pourrais parcourir tous les éléments ArrayList
et les copier dans le tableau CharSequence
, mais peut-être y a-t-il un moyen meilleur/plus rapide?
Vous pouvez utiliser List#toArray(T[])
pour cela.
CharSequence[] cs = list.toArray(new CharSequence[list.size()]);
Voici une petite démo:
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]
Étant donné que le type String
implémente déjà CharSequence
, cette conversion est aussi simple que de demander à la liste de se copier dans un nouveau tableau, qui ne copiera en fait aucune des données de caractères sous-jacentes. Vous copiez simplement des références à des instances de String
autour:
final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);