A List
, OP'nin belirttiği gibi nihai hedef ise, o zaman zaten kabul edilen cevap hala en kısa ve en iyisidir. Ancak Java 8 Akışlarını kullanarak alternatifler sunmak istiyorum , , bu da daha fazla işlem için bir boru hattının parçasıysa size daha fazla fayda sağlayacaktır.
.Split işlevinin (yerel bir dizi) sonucunu bir akışa sararak ve daha sonra bir listeye dönüştürerek.
List<String> list =
Stream.of("a,b,c".split(","))
.collect(Collectors.toList());
Sonucun ArrayList
OP'nin başlığına göre depolanması önemliyse, farklı bir Collector
yöntem kullanabilirsiniz :
ArrayList<String> list =
Stream.of("a,b,c".split(","))
.collect(Collectors.toCollection(ArrayList<String>::new));
Veya RegEx ayrıştırma API'sini kullanarak:
ArrayList<String> list =
Pattern.compile(",")
.splitAsStream("a,b,c")
.collect(Collectors.toCollection(ArrayList<String>::new));
list
Değişken List<String>
yerine yazılan olarak bırakılmayı düşünebileceğinizi unutmayın ArrayList<String>
. Genel arayüz List
hala ArrayList
uygulamaya yeterince benzer görünüyor .
Kendi başlarına, bu kod örnekleri çok fazla gibi görünmüyor (daha fazla yazım hariç), ancak daha fazla şey yapmayı planlıyorsanız, bir String'i Longs Örnekleri Listesine dönüştürmek için bu cevap gibi , akış API'si izin vererek gerçekten güçlüdür. operasyonlarınızı birbiri ardına boru hattına bağlamak.
Tamlık uğruna.