Si a List
es el objetivo final como lo indicó el OP, entonces la respuesta ya aceptada sigue siendo la más corta y la mejor. Sin embargo, quiero proporcionar alternativas utilizando Java 8 Streams , que le darán más beneficios si es parte de una tubería para su posterior procesamiento.
Al ajustar el resultado de la función .split (una matriz nativa) en una secuencia y luego convertirla en una lista.
List<String> list =
Stream.of("a,b,c".split(","))
.collect(Collectors.toList());
Si es importante que el resultado se almacene según ArrayList
el título del OP, puede usar un Collector
método diferente :
ArrayList<String> list =
Stream.of("a,b,c".split(","))
.collect(Collectors.toCollection(ArrayList<String>::new));
O mediante el uso de la API de análisis RegEx:
ArrayList<String> list =
Pattern.compile(",")
.splitAsStream("a,b,c")
.collect(Collectors.toCollection(ArrayList<String>::new));
Tenga en cuenta que aún podría considerar dejar la list
variable escrita como en List<String>
lugar de ArrayList<String>
. La interfaz genérica para List
todavía parece bastante similar a la ArrayList
implementación.
Por sí mismos, estos ejemplos de código no parecen agregar mucho (excepto más tipeo), pero si planea hacer más, como esta respuesta en la conversión de una Cadena a una Lista de Longs , la API de transmisión es realmente poderosa al permitir para canalizar sus operaciones una tras otra.
Por el bien, ya sabes, la integridad.