java - 将整数列表转换为逗号分隔的字符串?

标签 java java-8 integer java-stream collectors

我试图将整数列表转换为逗号分隔整数的字符串。

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" 创建一个字符串列表.有用。

最佳答案

是的。但是,没有Collectors.joining对于 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(","))
);

关于java - 将整数列表转换为逗号分隔的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57602096/

相关文章:

java - 用户输入Integer,用这个Int调用数组时总是返回0?

java - 解析来自 Dentrix 桌面应用程序的信息

maven - 为什么对于相同程序,lambda类的生成名称不相同

javascript - 我怎样才能让输入字段只接受 AngularJS 的 INTEGERS

java - 为什么在 Java 8 split 中有时会删除结果数组开头的空字符串?

java - 迭代结果集键 - 这可能吗?

java - 为什么我可以像基元一样测试包装器的不平等?我可以为我创建的类(class)执行此操作吗?

java - Nexus 接受上传但表示失败

java - 相机与抽屉导航重叠 - Android

java - 不使用构造函数获取子类的 java.lang.Class 实例