在Java中是否有任何内置的方法允许我们将逗号分隔的字符串转换为一些容器(例如数组,列表或向量)?或者我需要为此编写自定义代码吗?
String commaSeparated = "item1 , item2 , item3";
List<String> items = //method that converts above string into list??
在Java中是否有任何内置的方法允许我们将逗号分隔的字符串转换为一些容器(例如数组,列表或向量)?或者我需要为此编写自定义代码吗?
String commaSeparated = "item1 , item2 , item3";
List<String> items = //method that converts above string into list??
当前回答
在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());
其他回答
使用Splitter类可以获得相同的结果。
var list = Splitter.on(",").splitToList(YourStringVariable)
(用kotlin写)
此方法将字符串转换为一个数组,并接受两个参数:要转换的字符串和分隔字符串中的值的字符。它转换它,然后返回转换后的数组。
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;
}
List<String> items = Arrays.asList(commaSeparated.split(","));
这应该对你有用。
在groovy中,你可以使用tokenize(Character Token)方法:
list = str.tokenize(',')
List<String> items= Stream.of(commaSeparated.split(","))
.map(String::trim)
.collect(Collectors.toList());