本篇文章给大家分享的是有关Java8 中怎么跳出foreach循环,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
对于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<String> c = Arrays.asList("6666", "7777", "8888", "9999"); c.stream().forEach(str ->{ if("8888".equals(str)){ return; //跳出当前循环,继续下一轮 } System.out.println(str); }); System.out.println("d-------------------"); List<String> d = Arrays.asList("6666", "7777", "8888", "9999"); 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<String> a = new ArrayList<>(); 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<String> b = new ArrayList<>(); 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
啊啊啊!记录。。。
JDK8中return竟然不return了。。。
but:::
2、
两个for循环作对比,如下:
以上就是Java8 中怎么跳出foreach循环,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。