0

嗨,我是 Web Flux 和声明式编程风格的新手。

假设我有

List<String> numbers = Arrays.asList("one", "two", "three");

我转换成流

Stream<String> streamNumbers = numbers.stream();

我需要将此流转换为Flux<String>对象。在 Flux 类中,我有两个静态方法签名来做到这一点

public static <T> Flux<T> fromStream(Stream<? extends T> s)
public static <T> Flux<T> fromStream(Supplier<Stream<? extends T>> streamSupplier)

我喜欢使用供应商功能界面,因为这样我就可以拥有一个管道。但问题是我什么时候喜欢这样

Flux.fromStream(() -> streamNumbers);

它工作正常。但是当我将它分配给这样的变量时

Supplier<Stream<String>> streamSupplier = () -> streamNumbers;

并且这个变量像这样适用于 fromStream 方法

Flux.fromStream(streamSupplier);

IntellJ 提示我这样的错误

Cannot resolve method 'fromStream(java.util.function.Supplier<java.util.stream.Stream<java.lang.String>>)

我需要知道为什么会这样???

4

0 回答 0