您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。