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

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

当前回答

你可以结合asList和split

Arrays.asList(CommaSeparated.split("\\s*,\\s*"))

其他回答

两个步骤:

String [] = commaSeparated.split项目(“\ \ s * \ \ s *”); List<String> container = Arrays.asList(items);

你可以结合asList和split

Arrays.asList(CommaSeparated.split("\\s*,\\s*"))

一个使用集合的例子。

import java.util.Collections;
 ...
String commaSeparated = "item1 , item2 , item3";
ArrayList<String> items = new ArrayList<>();
Collections.addAll(items, commaSeparated.split("\\s*,\\s*"));
 ...

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

此方法将字符串转换为一个数组,并接受两个参数:要转换的字符串和分隔字符串中的值的字符。它转换它,然后返回转换后的数组。

private String[] convertStringToArray(String stringIn, String separators){
    
    // separate string into list depending on separators
    List<String> tempList = Arrays.asList(stringIn.split(separators));
    
    // create a new pre-populated array based on the size of the list
    String[] itemsArray = new String[tempList.size()];
    
    // convert the list to an array
    itemsArray = tempList.toArray(itemsArray);
    
    return itemsArray;
}