Jika a List
adalah tujuan akhir seperti yang dinyatakan OP, maka jawaban yang sudah diterima masih yang terpendek dan terbaik. Namun saya ingin memberikan alternatif menggunakan Java 8 Streams , yang akan memberi Anda lebih banyak manfaat jika itu merupakan bagian dari pipa untuk diproses lebih lanjut.
Dengan membungkus hasil dari fungsi .split (array asli) ke dalam aliran dan kemudian mengkonversi ke daftar.
List<String> list =
Stream.of("a,b,c".split(","))
.collect(Collectors.toList());
Jika penting bahwa hasilnya disimpan ArrayList
sesuai dengan judul dari OP, Anda dapat menggunakan Collector
metode yang berbeda :
ArrayList<String> list =
Stream.of("a,b,c".split(","))
.collect(Collectors.toCollection(ArrayList<String>::new));
Atau dengan menggunakan api parsing RegEx:
ArrayList<String> list =
Pattern.compile(",")
.splitAsStream("a,b,c")
.collect(Collectors.toCollection(ArrayList<String>::new));
Perhatikan bahwa Anda masih bisa mempertimbangkan untuk membiarkan list
variabel yang diketik sebagai List<String>
pengganti ArrayList<String>
. Antarmuka generik untuk List
masih terlihat cukup mirip dengan ArrayList
implementasinya.
Dengan sendirinya, contoh-contoh kode ini sepertinya tidak menambahkan banyak (kecuali mengetik lebih banyak), tetapi jika Anda berencana untuk berbuat lebih banyak, seperti yang dicontohkan pada konversi String ke Daftar yang Panjang , API streaming sangat kuat dengan memungkinkan untuk menyalurkan operasi Anda satu demi satu.
Demi, Anda tahu, kelengkapan.