gpt4 book ai didi

java - RxJava flatMapIterable 与单一 - Springboot

转载 作者:行者123 更新时间:2023-12-01 14:26:26 25 4
gpt4 key购买 nike

我正在使用 Single 从数据库中检索列表,因为它应该只返回一个值,所以我认为这是一个选择。

我在从要存储在变量中的列表中检索单个值 Long 时遇到问题。

Single<List<Currency>> currencyListOrigin = 
currencyService.getCurrencyByCodeLike(request.getMonedaOrigen());

这就是我想要实现的,但是更改此代码以获得相同的结果但使用 Single

Long codOriginCurrency = currencyListOrigin
.stream()
.findFirst()
.map(Currency::getId)
.orElse(null);

最佳答案

使用 Single<Long>此处不是有效选项。你应该使用 Maybe因为返回类型可以为空(当我们谈论 react 流时没有 null)。

如果你想得到idCurrency作为Maybe<Long>键入您应该继续执行以下代码:

private Maybe<Long> getCurrencyId() {
return getCurrencyByCodeLike()
.flatMapMaybe(currency -> currency.stream()
.findFirst()
.map(Currency::getId)
.map(Maybe::just)
.orElseGet(Maybe::empty)
);
}

关于java - RxJava flatMapIterable 与单一 - Springboot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62701185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com