为了账号安全,请及时绑定邮箱和手机立即绑定

如何将BiPredicate与anyMatch()结合使用

如何将BiPredicate与anyMatch()结合使用

动漫人物 2021-04-06 13:09:52
我有一组货币,Set<String>和RequiredCurrency为Set<String>。我必须检查所需的货币是否以货币设置存在。我已经BiPredicate为以下内容写过文章,并尝试在中使用相同的内容anyMatch()。但这对我不起作用。我怎样才能做到这一点。Set<String> currencyValues = currencies.getCurrencies().values()                    .stream()                    .map(currencyEntity -> {                       return currencyEntity.getNameOfSymbol();                    }).collect(Collectors.toSet());Set<String> requestCurrencyCodes = globalPricingRequests.stream().map(globalPricingRequest -> {    return globalPricingRequest.getCurrencyISOCode();}).collect(Collectors.toSet());BiPredicate<Set<String>, String> checkIfCurrencyPresent = Set::contains;boolean isCurrencyCodeValid = requestCurrencyCodes.stream().anyMatch(checkIfCurrencyPresent.test(currencyValues));我无法在中传递requestCurrencyCode checkIfCurrencyPresent.test(currencyValues)。
查看完整描述

3 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

您不需要BiPredicate。宁可简单地Predicate做到这一点。


Predicate<String> checkIfCurrencyPresent = currencyValues::contains;


boolean isCurrencyCodeValid = requestCurrencyCodes.stream()

        .anyMatch(checkIfCurrencyPresent);

这是一个更简洁的版本。


boolean isCurrencyCodeValid = requestCurrencyCodes.stream()

        .anyMatch(currencyValues::contains);


查看完整回答
反对 回复 2021-04-14
  • 3 回答
  • 0 关注
  • 181 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信