如何在java 8中的forEach循环中编写continue语句.
List<Integer> numList = Arrays.asList(10,21,31,40,59,60);
numList.forEach(x->{
if(x%2==0){
continue;
}
System.out.println(x);
});
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了编译时错误说继续循环之外
List<Integer> numList = Arrays.asList(10,21,31,40,59,60);
LOOP:numList.forEach(x->{
if(x%2==0){
continue LOOP;
}
System.out.println(x);
});
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了编译时错误,说明了Undefined Label:LOOP
Ram*_*asi 18
你可以用return.它不会停止整个循环,而是会停止当前的迭代.
像这样使用它:
List<Integer> numList = Arrays.asList(10,21,31,40,59,60);
numList.forEach( x-> {
if( x%2 == 0) {
return; // only skips this iteration.
}
System.out.println(x);
});
Run Code Online (Sandbox Code Playgroud)
我想在这种情况下,最好的解决方案是在执行println之前过滤列表...
例如(我没有测试):
List<Integer> numList = Arrays.asList(10,21,31,40,59,60);
numList.stream().filter(x-> x%2 != 0).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12166 次 |
| 最近记录: |