【发布时间】:2019-08-22 04:34:42
【问题描述】:
我试图将整数列表转换为逗号分隔的整数字符串。
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 行出现错误。
有没有办法通过 Java 8 中的流来做到这一点?
如果我用"1", "2", "3","4","5" 创建一个字符串列表。它有效。
【问题讨论】:
-
错误信息是什么?
-
Stream
类型中的方法 collect(Collector super Integer,A,R>) 不适用于参数 (Collector ) -
将此添加到问题中,而不是作为评论。
-
您需要将
Integers 映射到Strings` 才能使用joining。它专门返回Collector<CharSequence, ?, String>。 -
你可以再循环一个,并用逗号将值一个一个地赋予字符串。
标签: java java-8 integer java-stream collectors