使用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)); }