使用forEach迭代varArgs

我可以在varArgs上使用forEach()stream()吗?

  protected void getSomeIds (List... varArgs) { for(List lst:varArgs) { System.out.println("This works"); } //Following does not compile varArgs.forEach(); // nor varArgs.stream(); } 

Varargs的行为与数组类似,因此您可以使用Stream.of获取varargs的Stream

 Stream> stream = Stream.of (varArgs); 

你可以用以下方法迭代它们:

 Stream.of(varArgs).forEach (...); 

你的语法混乱。 尝试这个:

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