淺談Java8 的foreach跳出循環(huán)break/return
java8中跳出循環(huán)不能使用break?
通過(guò)測(cè)試發(fā)現(xiàn):
對(duì)于java8中的特殊寫法lamada表達(dá)式中,不能使用break,會(huì)提示錯(cuò)誤;
java8中使用return,會(huì)跳出當(dāng)前循環(huán),繼續(xù)下一次循環(huán),作用類似continue;
java8中使用foreach,但是不是lamada表達(dá)式寫法,可以正常使用break或者return,可以直接跳出循環(huán).
public class TestForEachJava8 {
public static void main(String[] args) {
System.out.println("c-------------------");
//lamada表達(dá)式中foreach使用break
List<String> c = Arrays.asList("6666", "7777", "8888", "9999");
c.stream().forEach(str ->{
if("8888".equals(str)){
return; //跳出當(dāng)前循環(huán),繼續(xù)下一輪
}
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提示錯(cuò)誤: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; //正常跳出循環(huán)
}
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; //也能跳出循環(huán)
}
System.out.println(str);
}
}
}
輸出:
c-------------------
6666
7777
9999
d-------------------
6666
7777
8888
9999
a-------------------
1111
2222
b-------------------
1111
2222
java中jdk8的forEach()方法return血的教訓(xùn)!
啊啊??!記錄。。。
JDK8中return竟然不return了。。。

but:::

2、

兩個(gè)for循環(huán)作對(duì)比,如下:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Java中跳出多重循環(huán)嵌套的三種方法
- java跳出for循環(huán)的三種常見(jiàn)方法
- java跳出循環(huán)的三種方式總結(jié)(break語(yǔ)句、continue語(yǔ)句和return語(yǔ)句)
- JAVA中跳出當(dāng)前多重嵌套循環(huán)的方法詳解
- Java如何跳出當(dāng)前多重循環(huán)你知道嗎
- java 中break如何跳出外部循環(huán)
- Java 8跳過(guò)本次循環(huán),繼續(xù)執(zhí)行以及跳出循環(huán),終止循環(huán)的代碼實(shí)例
- Java 跳出遞歸循環(huán)問(wèn)題解決辦法
- java跳出循環(huán)的方式匯總
相關(guān)文章
Java實(shí)現(xiàn)將txt文件轉(zhuǎn)成xls文件的方法
今天小編就為大家分享一篇Java實(shí)現(xiàn)將txt文件轉(zhuǎn)成xls文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
關(guān)于Java中配置ElasticSearch集群環(huán)境賬號(hào)密碼的問(wèn)題
這篇文章主要介紹了Java中配置ElasticSearch集群環(huán)境賬號(hào)密碼的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
Java中的throws關(guān)鍵字處理異常的最佳實(shí)踐記錄
在Java編程中,異常處理是保證程序健壯性和穩(wěn)定性的重要手段,除了使用try-catch塊捕獲異常外,Java還提供了throws關(guān)鍵字,允許我們將異常拋給調(diào)用者處理,本文介紹Java中的throws關(guān)鍵字處理異常的最佳實(shí)踐記錄,感興趣的朋友一起看看吧2025-01-01
Java中的遞增i++與++i的實(shí)現(xiàn)原理詳解
這篇文章主要介紹了Java中的i++與++i的實(shí)現(xiàn)原理詳解,在Java中,i++是一種常見(jiàn)的遞增操作符,用于將變量i的值增加1,它是一種簡(jiǎn)潔且方便的方式來(lái)實(shí)現(xiàn)循環(huán)和計(jì)數(shù)功能,i++可以用于各種情況,本文來(lái)看一下其實(shí)現(xiàn)原理,需要的朋友可以參考下2023-10-10
關(guān)于ArrayList的動(dòng)態(tài)擴(kuò)容機(jī)制解讀
這篇文章主要介紹了關(guān)于ArrayList的動(dòng)態(tài)擴(kuò)容機(jī)制解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
Java通過(guò)調(diào)用C/C++實(shí)現(xiàn)的DLL動(dòng)態(tài)庫(kù)——JNI的方法
這篇文章主要介紹了Java通過(guò)調(diào)用C/C++實(shí)現(xiàn)的DLL動(dòng)態(tài)庫(kù)——JNI的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-01-01

