首页 > 解决方案 > 为什么不能将 java.util.stream.IntStream 转换为 java.util.stream.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);

此代码给出了编译错误

Bad return type in method reference: cannot convert java.util.stream.IntStream to java.util.stream.Stream<? extends R>

标签: javajava-stream

解决方案


使用flatMapToInt代替flatMap

streamOfStrings.flatMapToInt(String::chars).forEach(v -> System.out.println((char)v));

推荐阅读