2010-06-13 17 views
57

¿Cuál sería la forma más fácil de hacer un CharSequence[] de ArrayList<String>?ArrayList <String> a CharSequence []

Claro que podría repetir cada elemento ArrayList y copiarlo al array CharSequence, pero tal vez haya una forma mejor/más rápida?

Respuesta

209

Puede usar List#toArray(T[]) para esto.

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

He aquí una pequeña demostración:

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] 
+15

+1 - El punto es que 'CharSequence' es una interfaz y' string' implementa. –

12

Teniendo en cuenta que el tipo String ya implementa CharSequence, esta conversión es tan simple como pedir la lista para copiarse a sí mismo en una matriz fresca, que en realidad no copiar cualquiera de los datos de los personajes subyacentes. Sólo estás copiando referencias a String casos de todo:

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