2017-01-26 8 views
0

目的は、ストリームのストリームからすべての要素を含む関数を呼び出すことです。ストリームのストリーム:ストリームから変換できません<Object>

私が持っている問題はもっと複雑ですが、この単純なコードで再現することができます。次のコードで

、私はこのエラーを取得する:

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))); 
     } 
    } 
+0

ソリューションで

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

を交換してください:ストリーム REZ = a.bList.stream()。 flatMap(b - > b.urls.stream()。flatMap(u - > getResult(aa、bb、u))); – Tyvain

答えて

2

a.bList.stream().flatMap(...) 
関連する問題