为什么不能将java.util.stream.IntStream转换为java.util.stream.Stream <?扩展R>

Mel*_*ius -2 java java-stream

为什么不能 convert java.util.stream.IntStream to java.util.stream.Stream<? extends R>

    Stream<String> streamOfStrings = Stream.of("hello", "world");
    streamOfStrings.flatMap(String::chars).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

此代码给出了编译错误

Bad return type in method reference: cannot convert java.util.stream.IntStream to java.util.stream.Stream<? extends R>
Run Code Online (Sandbox Code Playgroud)

Rus*_*lan 5

使用flatMapToInt代替flatMap

streamOfStrings.flatMapToInt(String::chars).forEach(v -> System.out.println((char)v));
Run Code Online (Sandbox Code Playgroud)