Question

Quelle serait la meilleure façon de faire un CharSequence[] sur ArrayList<String>?

Bien sûr, je pourrais itérer à travers chaque élément de ArrayList et copier à un tableau de CharSequence, mais peut-être ainsi est mieux / plus rapide?

Était-ce utile?

La solution

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]

Autres conseils

Étant donné que le type String déjà des outils CharSequence, cette conversion est aussi simple que de demander la liste de se copier dans un tableau frais, qui ne fait aucune copie des données de caractère sous-jacent. Vous êtes juste de copier les références à des instances String autour de:

final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top