Java8中的foreach跳出循环break/return

Java8中的foreach跳出循环break/returnjava8中跳出循环不能使用break?通过测试发现:对于java8中的特殊写法lamada表达式中,不能使用break,会提示错误;java8中使用return,会跳出当前循环,继续下一次循环,作用类似continue;java8中使用foreach,但是不是lamada表达式写法,可以正常使用break或者return,可以直接跳出循环.publicclassTestForE…

大家好,欢迎来到IT知识分享网。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<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

TODO:foreach…

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12495.html

(0)
上一篇 2024-03-13 20:26
下一篇 2024-03-13 22:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信