【发布时间】:2021-10-11 21:51:30
【问题描述】:
我需要从列表中读取字符串并用“,”将它们连接起来。还需要在总输出字符串的前缀和后缀中添加逗号。 示例:如果 list contans["a","b","c"] 那么输出将是 ",a,b,c,"。
现在与 Collectors.joining 完美配合,但如果列表不包含任何值,那么在输出字符串中我也会得到“,”作为输出,因为添加了前缀和后缀。
现在我想要的是避免前缀和后缀,以防空字符串。那么,有什么建议吗?
List<String> list = new ArrayList<>();
String result = list.stream().collect(Collectors.joining(",", ",", ","));
System.out.println(result);
提前致谢。
【问题讨论】:
-
list.stream().collect(Collectors.joining(",")或String.join(",",list); -
无法回答,因为这已被标记为重复,但
.collect(() -> new StringJoiner(",", ",", ",").setEmptyValue(""), StringJoiner::add, StringJoiner::merge).toString()应该可以工作。 -
@Bubletan 因为这种解决方案已经在this answer 中,所以我将特定的问答添加到重复列表中......
-
我认为列出的两个问题不能回答这个问题。但是this later answer 可以。