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 = Arrays.asList("6666", "7777", "8888", "9999");

c.stream().forEach(str ->{

if("8888".equals(str)){

return; //跳出当前循环,继续下一轮

}

System.out.println(str);

});

System.out.println("d-------------------");

List 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 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 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

原文:https://www.cnblogs.com/zhuyeshen/p/12157626.html

java foreach break_Java8中的foreach跳出循环break/return相关推荐

  1. Java8中的foreach跳出循环break/return

    对于java8中的特殊写法lamada表达式中,不能使用break,会提示错误; java8中使用return,会跳出当前循环,继续下一次循环,作用类似continue; java8中使用foreac ...

  2. java triplet_JavaTuples(元组)中的Triplet类 - Break易站

    Java 元组tuple Triplet是从元组JavaTuples库的.由于这个Triplet是一个泛型类,它可以包含任何类型的值. 由于Triplet是一个元组,因此它也具有JavaTuples的 ...

  3. Java中for循环continue,break,return三者之间的关系

    理论介绍 1.continue 跳出本次循环,进行下一个循环 2.break 跳出for循环结束: 3.return 直接结束循环 实例 实例1: for(int i =0;i<5;i++){S ...

  4. js中终止forEach循环的方法

    正常终止for循环我们可以使用break关键字来实现,而在forEach循环中是不能使用break和continue这两个关键字的,为什么呢? 因为这两个关键字要在循环中使用,而forEach中所执行 ...

  5. java foreach标签_Java中Velocity foreach循环标签详解

    Java中Velocity foreach循环标签详解 Java Velocity中foreach循环可以很容易的遍历数组或者集合. 定义 #foreach( $elem in $allElems) ...

  6. java for循环迭代_JAVA中的for-each循环与迭代

    在学习java中的collection时注意到,collection层次的根接口Collection实现了Iterable接口(位于java.lang包中),实现这个接口允许对象成为 "fo ...

  7. java中的foreach_java中的foreach语句

    在java中,foreach语句是for语句的特殊简化版本,在遍历数组等方面为程序员提供了很大的方便,语法格式如下: for(元素变量 x : 遍历对象 obj) { 引用了x的java语句: } f ...

  8. java中的foreach语句

    在java中,foreach语句是for语句的特殊简化版本,在遍历数组等方面为程序员提供了很大的方便,语法格式如下: for(元素变量 x : 遍历对象 obj) { 引用了x的java语句: } f ...

  9. 在Java中的foreach循环中调用remove

    本文翻译自:Calling remove in foreach loop in Java [duplicate] This question already has an answer here: 这 ...

最新文章

  1. centos syslog-ng 配置
  2. LeetCode Algorithm 606. 根据二叉树创建字符串
  3. jquery图片延迟加载 lazy-src
  4. C++ 高级数据类型(四)—— 动态内存分配
  5. 【SpringCloud从0到6】 第一节:初识微服务微服务的雪崩效应
  6. Valine+Leancloud搭建评论模块
  7. 全志h3通用固件_全志h3芯片安卓版固件
  8. 没有自制力的人有什么资格谈努力
  9. openlayers中海图的加载
  10. 【产业互联网周报】微软、谷歌再布局边缘云;美团放弃公有云业务;开普云登陆科创板...
  11. 你知道几种编程思想?
  12. 《从零开始的 RPG 游戏制作教程》第十二期:刷怪与防守(上)
  13. 渗透测试-----ARP攻击
  14. OpenCV Flann
  15. javascript错误:对象不支持此属性或方法
  16. 你会正确卸载数据库吗?
  17. 你怀疑过“温水煮青蛙”的故事吗
  18. 简单迭代服务器端/客户端:模仿飞Q聊天功能,实现IM通信
  19. 【matlab选题推荐四】基于图像识别的人脸考勤系统
  20. 版本控制:git和svn

热门文章

  1. 平安夜、圣诞节设计素材和灵感|撒糖(PNG免扣素材)
  2. 如何腾出计算机内存,电脑C盘又飘红?教你这样清理内存,可以轻松腾出大量空间...
  3. linux-5.12-rc1-dontuse
  4. C语言实现单例模式,以及使用内存屏障的性能优化方案
  5. Linux-进程管理
  6. libevent:信号、超时、回调
  7. OpenLTE 基站相关头文件:用户、定时器、基站接口、消息接口
  8. 七月文章导读【TCP/IP相关】:解密 TCP/IP;什么是公网ip?什么是内网ip?为什么ip地址通常以192.168开头?
  9. linux内核驱动之 设备和模块的分类
  10. CentOS部署SpringBoot项目(二)