Java 11:如何总结java中的两个Single<Optional<>>?
Java 11: How to summarize two Single<Optional<>> in java?
请帮忙,如何总结 java 11 中的两个 Single?
我正在使用 RxJava,但我认为它没有任何意义。
例如:
Single<Optional<MonetaryAmount>> first = someMethod1(a, b);
Single<Optional<MonetaryAmount>> second = someMethod2(a, b);
我想做这样的事情不是在语法上而是在逻辑上
Single<Optional<MonetaryAmount>> result = first + second;
我试过这样做,但它在 java 11
中不起作用
Single<Optional<MonetaryAmount>> result = Stream.concat(first, second)
.reduce(MonetaryAmount::sum);
你有什么想法吗?
使用concatMapSingle
和mapOptional
得到当前值:
Observable<Single<Optional<MonetaryAmount>>> amounts =
Observable.fromArray(first, second);
amounts.concatMapSingle(v -> v)
.mapOptional(v -> v) // RxJava 3
.reduce(MonetaryAmount::sum)
;
对于 RxJava 2,使用 filter+map 组合:
.filter(Optional::isPresent)
.map(Optional::get)
请帮忙,如何总结 java 11 中的两个 Single
我正在使用 RxJava,但我认为它没有任何意义。
例如:
Single<Optional<MonetaryAmount>> first = someMethod1(a, b);
Single<Optional<MonetaryAmount>> second = someMethod2(a, b);
我想做这样的事情不是在语法上而是在逻辑上
Single<Optional<MonetaryAmount>> result = first + second;
我试过这样做,但它在 java 11
中不起作用Single<Optional<MonetaryAmount>> result = Stream.concat(first, second)
.reduce(MonetaryAmount::sum);
你有什么想法吗?
使用concatMapSingle
和mapOptional
得到当前值:
Observable<Single<Optional<MonetaryAmount>>> amounts =
Observable.fromArray(first, second);
amounts.concatMapSingle(v -> v)
.mapOptional(v -> v) // RxJava 3
.reduce(MonetaryAmount::sum)
;
对于 RxJava 2,使用 filter+map 组合:
.filter(Optional::isPresent)
.map(Optional::get)