Применить предикат к списку получателей в Java - PullRequest
0 голосов
/ 15 мая 2019

Я хочу проверить, есть ли ВСЕ получатели компонента.

Прямой путь - это тест, подобный следующему:

boolean result=
     StringUtils.hasText(bean.getProperty1()) && 
     StringUtils.hasText(bean.getProperty2()) &&
     .....

Но мне интересно, есть ли в Java 8 такой краткий путь, чтобы мне не приходилось повторятьФункция предиката:

   Utility.appplyPredicate(StringUtils:hasText,
          bean.getProperty1(), bean.getProperty2(),...)

Или даже лучше, используя ссылки на методы:

   Utility.appplyPredicate(StringUtils:hasText, bean
          Bean:getProperty1, Bean:getProperty2,...

Полагаю, я мог бы написать что-то подобное, используя varargs, но, возможно, есть способ сделать это с помощьюJRE или существующая библиотека, такая как Apache или Spring?

1 Ответ

4 голосов
/ 15 мая 2019

Это довольно легко сделать с потоками:

Stream.of(bean.getProperty1(), bean.getProperty2(), …)
      .allMatch(StringUtils::hasText);
...