我正在尝试一些 Spring 反应式代码,以下是相关的代码
Supplier<Stream<Long>> longStreamSupplier = ()
-> LongStream.iterate(0,
nextLong -> nextLong + 1).boxed();
Flux<Long> fooIds = Flux.fromStream(longStreamSupplier);
上面的最后一行在 Intellj IDE 中给出了编译错误,说没有接受该类型的方法。
但是,如果我将其转换为以下内容:
Flux<Long> fooIds = Flux.fromStream(() -> LongStream
.iterate(0, nextLong -> nextLong + 1)
.boxed());
这工作正常。为什么它不能接受指向我在第二段代码中传递的同一个 lambda 表达式的引用变量?