说我有字符串“5 12 4”.我想把它变成一个包含5,12和4的整数ArrayList,在一个功能行中.
我觉得应该有一种方法可以通过组合split(“”),将其转换为流,使用mapToInt(s-> Integers.parseInt(s))和collect(Collectors.toList())来实现.就像是:
ArrayList nextLine = Arrays.stream(inputLine.split(" "))
.mapToInt(s->Integer.parseInt(s))
.collect(Collectors.toList());
但这不起作用,因为mapToInt给我整数而不是整数.
我知道如何使用循环来做到这一点.我希望有一种方法可以在单个流操作中执行它(如果存在).
解决方法:
你可以使用Integer#valueOf.注意你应该使用Stream#map而不是Steam#mapToInt:
List nextLine =
Arrays.stream(inputLine.split(" "))
.map(Integer::valueOf)
.collect(Collectors.toList());
标签:java,java-stream,string,arraylist,int
来源: https://codeday.me/bug/20190727/1550317.html