我试图将整数列表转换为逗号分隔的整数字符串。
Collectors.joining(CharSequence delimiter) - 返回一个按遇到顺序连接输入元素(由指定分隔符分隔)的收集器。
List<Integer> i = new ArrayList<>(); // i.add(null);
for (int j = 1; j < 6; j++) {
i.add(j);
}
System.out.println(i.stream().collect(Collectors.joining(","))); // Line 8
我在第 8 行收到错误:
Stream 类型中的方法collect(Collector super Integer,A,R>) 不适用于参数(Collector)
有没有办法通过 Java 8 中的流来做到这一点?
如果我创建一个字符串列表"1", "2", "3","4","5"
。有用。
是的。然而,没有Collectors.joining
for a Stream<Integer>
;你需要一个Stream<String>
所以你应该map
收集前。就像是,
System.out.println(i.stream().map(String::valueOf)
.collect(Collectors.joining(",")));
哪个输出
1,2,3,4,5
另外,你可以生成Stream<Integer>
以多种方式。
System.out.println(
IntStream.range(1, 6).boxed().map(String::valueOf)
.collect(Collectors.joining(","))
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)