我已经创建了3个 predicate ,它们在这个服务类的一个方法中使用。这是当前在一个方法中的3个 predicate 。但在实现这个项目时,这些 predicate 似乎也可用于其他服务方法。
因此,当我们想要得到这些 predicate 时,有没有办法将它们放到一个单独的方法中并调用该方法? predicate 的类型也需要更改。为此,我可以使用像这样的泛型吗 Predicate<T>
?
Predicate<LocalRequestDTO> allFilter = request -> (!StringUtils.isBlank(request.getSuvc())
&& !StringUtils.isBlank(request.getSuffix()) && !StringUtils.isBlank(request.getSite()));
Predicate<LocalRequestDTO> suvcSuffixFilter = request -> (!StringUtils.isBlank(request.getSuvc())
&& !StringUtils.isBlank(request.getSuffix()) && StringUtils.isBlank(request.getSite()));
Predicate<LocalRequestDTO> suvcFilter = request -> (!StringUtils.isBlank(request.getSuvc())
&& StringUtils.isBlank(request.getSuffix()) && StringUtils.isBlank(request.getSite()));
1条答案
按热度按时间smdncfj31#
一个选项是创建一个返回
Predicate
:另一个选项是定义
Predicate
作为常数:或者您可以创建一个方法,该方法接受dto并返回布尔值,而不使用@lino建议的 predicate :