79 votes

ArrayList<String> pour CharSequence[]

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

Sûr que je pourrais parcourir chaque ArrayList d'élément et de copie à l' CharSequence tableau, mais peut-être qu'il est mieux/plus vite?

257voto

BalusC Points 498232

Vous pouvez utiliser List#toArray(T[]) pour cette.

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]

19voto

seh Points 8533

Étant donné que le type String implémente déjà CharSequence, cette conversion est aussi simple que de demander la liste à copier lui-même dans une nouvelle matrice, ce qui ne sera pas réellement copier le sous-jacent de données de caractère. Vous êtes tout simplement la copie des références à String instances:

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X