【发布时间】:2020-05-27 17:05:26
【问题描述】:
我有一个 Set 中的下一个元素列表,我正在尝试使用新的行分隔符打印这些消息,但似乎不可能以这种方式进行。我也尝试过使用“/n”,但我只在屏幕上打印了字符,类似于:
"字段 xxxx 不是有效的 xxxx 值\r\n字段 xxxx 不是有效的 xxx 值"
Set<String> messages;
public String printValidationMessages() {
if (this.messages != null && !this.messages.isEmpty()) {
return this.messages.stream()
.filter(StringUtils::isNotBlank)
.collect(Collectors.joining(System.getProperty("line.separator")));
}
return BLANK_SPACE;
}
有没有一种方法可以使用流实现每个元素之间的线分隔?
谢谢!
【问题讨论】:
-
无法在我的机器上复制。
-
你是如何打印字符串的?
-
您使用的是哪个控制台?
Collectors.joining("\n")总是为我工作。或者试试joining("\r\n")。 -
在休息答案中它必须有效吗?对我来说不工作。只打印 \n 字符。
-
因此,您正在使用一个框架发送字符串,该框架有意在输出中转义换行符。这就是它应该的工作方式。在字符串中间有实际的换行符会使输出无效。
标签: java join java-stream apache-commons