ArrayList à CharSequence []
-
27-09-2019 - |
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?
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