Объединяйте элементы в потоке с помощью нового разделителя строк - PullRequest
0 голосов
/ 27 мая 2020

У меня есть следующий список элементов в наборе, и я пытаюсь распечатать эти сообщения с новым разделителем строк, но похоже, что это невозможно сделать таким образом. Я также пробовал использовать «/ n», но на экране отображается только символ, например:

«Поле xxxxx не является допустимым значением xxxxx \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;
 }

Есть способ добиться разделения строк между каждым элементом с помощью потоков?

Спасибо!

1 Ответ

0 голосов
/ 27 мая 2020

Код ниже работает нормально на моей консоли. Не могли бы вы проверить, где ваша печать?

static Set<String> messages = new HashSet<>();
    public static void main(String[] args) {
        messages.add("The field xxxxxis not a valid xxxxx Value");
        messages.add("The field xxxxxis");

        System.out.print(printValidationMessages());

    }
    static Predicate<String> p = s->!s.isEmpty();
    public static String printValidationMessages() {
        if (messages != null && !messages.isEmpty()) {
            return messages.stream().filter(p)
                    .collect(Collectors.joining(System.getProperty("line.separator")));
        }
        return "";
    }
...