我可以在varArgs上使用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 :(得分:15)
Varargs的行为与数组类似,因此您可以使用Stream
获得Stream.of
个varargs:
Stream<List<String>> stream = Stream.of (varArgs);
你可以用以下方法迭代它们:
Stream.of(varArgs).forEach (...);
答案 1 :(得分:-1)
你的语法混乱。试试这个:
for(List lst:varArgs) {
lst.forEach(str -> System.out.println(str));
}