代码之家  ›  专栏  ›  技术社区  ›  Melad Basilius

为什么不能转换java。util。流动IntStream到java。util。流动流<?扩展R>

  •  -1
  • Melad Basilius  · 技术社区  · 7 年前

    为什么不能 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>
    
    1 回复  |  直到 7 年前
        1
  •  5
  •   Ruslan    7 年前

    使用 flatMapToInt 而不是 flatMap :

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