【发布时间】:2019-05-14 21:22:58
【问题描述】:
我想测试一个 bean 的所有 getter 是否都有文本。
直截了当的方法是这样的测试:
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)来做到这一点?
【问题讨论】:
-
一个简单的方法是使用bean validation
标签: java lambda java-8 predicate