Si a Listes 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 ArrayListel título del OP, puede usar un Collectormé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 listvariable escrita como en List<String>lugar de ArrayList<String>. La interfaz genérica para Listtodavía parece bastante similar a la ArrayListimplementació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.