Sie können Guava verwenden, um die Zeichenkette aufzuteilen und in eine ArrayList zu konvertieren. Dies funktioniert auch mit einer leeren Zeichenkette und gibt eine leere Liste zurück.
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
String commaSeparated = "item1 , item2 , item3";
// Split string into list, trimming each item and removing empty items
ArrayList<String> list = Lists.newArrayList(Splitter.on(',').trimResults().omitEmptyStrings().splitToList(commaSeparated));
System.out.println(list);
list.add("another item");
System.out.println(list);
gibt das Folgende aus:
[item1, item2, item3]
[item1, item2, item3, another item]
Sie können auch den folgenden Ansatz ohne Guava verwenden:
public static List<String> getStringAsList(String input) {
if (input == null || input.trim().length() == 0) {
return Collections.emptyList();
}
final String separators = "[;:,-]";
var result =
Splitter.on(CharMatcher.anyOf(separators))
.trimResults()
.omitEmptyStrings()
.splitToList(input);
return result;
}