在Java中是否有任何内置的方法允许我们将逗号分隔的字符串转换为一些容器(例如数组,列表或向量)?或者我需要为此编写自定义代码吗?

String commaSeparated = "item1 , item2 , item3";
List<String> items = //method that converts above string into list??

当前回答

Java 9引入了List.of():

String commaSeparated = "item1 , item2 , item3";
List<String> items = List.of(commaSeparated.split(" , "));

其他回答

在Java 8中将集合转换为逗号分隔的字符串

listOfString对象包含["A","B","C","D"]个元素-

listOfString.stream().map(ele->"'"+ele+"'").collect(Collectors.joining(","))

输出结果为:- ' A ', ' B ', ' C ', ' D '

和转换字符串数组到列表在Java 8

    String string[] ={"A","B","C","D"};
    List<String> listOfString = Stream.of(string).collect(Collectors.toList());

你可以先使用String.split(",")分割它们,然后使用Arrays.asList(array)将返回的String数组转换为数组列表

在Kotlin中,如果你的字符串列表像这样,你可以使用这行代码将字符串转换为数组列表

var str= "item1, item2, item3, item4"
var itemsList = str.split(", ")

在Java 8中使用流有许多方法来解决这个问题,但在我看来,以下一行是直接的:

String  commaSeparated = "item1 , item2 , item3";
List<String> result1 = Arrays.stream(commaSeparated.split(" , "))
                                             .collect(Collectors.toList());
List<String> result2 = Stream.of(commaSeparated.split(" , "))
                                             .collect(Collectors.toList());

没有内置的方法,但你可以简单地使用split()方法。

String commaSeparated = "item1 , item2 , item3";
ArrayList<String> items = 
new  ArrayList<String>(Arrays.asList(commaSeparated.split(",")));