c语言sscanf函数的用法是什么
289
2022-12-24
浅谈Java8 的foreach跳出循环break/return
java8中跳出循环不能使用break?
通过测试发现:
对于java8中的特殊写法lamada表达式中,不能使用break,会提示错误;
java8中使用return,会跳出当前循环,继续下一次循环,作用类似continue;
java8中使用foreach,但是不是lamada表达式写法,可以正常使用break或者return,可以直接跳出循环.
public class TestForEachJava8 {
public static void main(String[] args) {
System.out.println("c-------------------");
//lamada表达式中foreach使用break
List
c.stream().forEach(str ->{
if("8888".equals(str)){
return; //跳出当前循环,继续下一轮
}
System.out.println(str);
});
System.out.println("d----------------http://---");
List
d.stream().forEach(str ->{
System.out.println(str);
if("8888".equals(str)){
break; //IDE提示错误:break cannot be used outside of a loop or a switch
}
});
System.out.println("a-------------------");
List
a.add("1111");
a.add("2222");
a.add("3333");
a.add("4444");
for(String str:a){
if("3333".equals(str)){
break; //正常跳出循环
}
System.out.println(str);
}
System.out.println("b-------------------");
List
b.add("1111");
b.add("2222");
b.add("3333");
b.add("4444");
for(String str:b){
if("3333".equals(str)){
return; //也能跳出循环
}
System.out.println(str);
}
}
}
输出:
c-------------------
6666
7777
9999
d-------------------
6666
7777
8888
9999
a-------------------
1111
2222
b-------------------
1111
2222
java中jdk8的forEach()方法return血的教训!
啊啊啊!记录。。。
JDK8中return竟然不return了。。。
but:::
2、
两个for循环作对比,如下:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~