代码之家  ›  专栏  ›  技术社区  ›  SeekanDestroy

使用varargs创建方法以永久单击[duplicate]

  •  0
  • SeekanDestroy  · 技术社区  · 6 年前

    我能用吗 forEach() stream()

       protected void getSomeIds (List<String>... varArgs) {
         for(List lst:varArgs) {
         System.out.println("This works");
        }
       //Following does not compile 
        varArgs.forEach();
       // nor 
        varArgs.stream();
       }
    
    0 回复  |  直到 9 年前
        1
  •  27
  •   Eran    9 年前

    vararg的行为类似于数组,因此可以得到 Stream 使用 Stream.of

    Stream<List<String>> stream = Stream.of (varArgs);
    

    您可以使用以下方法对它们进行迭代:

    Stream.of(varArgs).forEach (...);
    
        2
  •  -2
  •   ergonaut    9 年前

    你把语法弄糊涂了。试试这个:

    for(List lst:varArgs) {
        lst.forEach(str -> System.out.println(str));
    }