Given this simplified sample code:
Flux.empty()
.cast(Integer.class)
.reduce(Integer.valueOf(1), (i,j) -> i+j)
.subscribe(System.out::println);
How to achieve that the result of the reduce operation is also empty?
答案 0 :(得分:1)
您不能使用此特定变体。 Integer.valueOf(1)
的目的的一半是提供种子,即使源是空的,也能确保有值。
但是,您可以在没有种子/种子供应商的情况下使用变体:
Flux.empty()
.cast(Integer.class)
.reduce((i,j) -> i+j)
.subscribe(System.out::println);
空序列或单值序列将按原样再现(javadoc可能有点不清楚),所以:
Mono
。Flux.empty().cast(Integer.class)
替换为Flux.just(1)
会产生Mono
1
。{/ li>
Flux.just(3, 4)
会产生Mono
7