java - 流: cannot convert from Stream<Object>的流

标签 java lambda java-stream

目标是使用流中的所有元素调用函数。

我遇到的问题更复杂,但我设法用这个简单的代码重现。

使用以下代码,我收到此错误:

 Type mismatch: cannot convert from Stream<Object> to Stream<Integer>



    import java.util.List;
    import java.util.stream.Stream;

    class Ideone
    {
        public class A {
            String a = "a";
            List<B> bList;
        }


        public class B {
            String b = "b";
            List<String> urls;
        }


        public Stream<Integer> getResult (String a, String b, String url) {
            System.out.println("Bingo!");
            return Stream.empty();
        }



        public static void main (String[] args) throws java.lang.Exception
        {
            A a = new A();
           Stream<Integer> rez = a.bList.stream().map(b -> b.urls.stream().map(u -> getResult(a.a, b.b, u)));
        }
    }

最佳答案

替换

a.bList.stream().map(...)

a.bList.stream().flatMap(...)

关于java - 流: cannot convert from Stream<Object>的流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41883574/

相关文章:

java - If 语句 [help] Java 新手

java - 捕获异常时写入的日志消息的单元测试

c# - 过度使用委托(delegate)对性能来说是个坏主意吗?

java 8 流 groupBy 和新对象创建

java - 为什么不能在方法级别抛出 java 流中的已检查异常?

java - 如果使用Java 8 Streams列表为空,则返回默认列表?

java - java如何设置相对路径?

java - 从 XML 字符串中提取日期值

java - 将多个列表的每个元素合并为一个元素并返回java 8中的另一个列表

java - 使用 forEach,Java 8 流创建列表列表(嵌套列表)