关于Java8的foreach中使用return/break/continue产生的问题

 更新时间:2023年10月20日 09:14:25   作者:架构帅  
这篇文章主要介绍了关于Java8的foreach()中使用return/break/continue产生的问题,在使用foreach()处理集合时不能使用break和continue这两个方法,也就是说不能按照普通的for循环遍历集合时那样根据条件来中止遍历,需要的朋友可以参考下

foreach()中使用return/break/continue

今天使用lambda表达式处理集合时,发现对return、break以及continue的使用有点迷惑,于是自己动手测试了一下,才发现在使用foreach()处理集合时不能使用break和continue这两个方法,也就是说不能按照普通的for循环遍历集合时那样根据条件来中止遍历,而如果要实现在普通for循环中的效果时,可以使用return来达到,也就是说如果你在一个方法的lambda表达式中使用return时,这个方法是不会返回的,而只是执行下一次遍历,看如下的测试代码:

List<String> list = Arrays.asList("123", "45634", "7892", "abch", "sdfhrthj", "mvkd");
list.stream().forEach(e ->{
    if(e.length() >= 5){
        return;
    }
    System.out.println(e);
});

上述代码的输出结果是如下图所示:

可以看出return起到的作用和continue是相同的。

想知道这是为什么,在Stack Overflow中找到一个答案,主要是说foreach()不是一个循环,不是设计为可以用break以及continue来中止的操作。

针对问题:

foreach()循环操作元素时,是否会退出lambda表达式 

如下图所示:

不管你遍历到哪个集合中的元素,上图都会停在第一行程序中而不会发生跳转,所以是不会停止lambda表达式的执行的。

到此这篇关于关于Java8的foreach()中使用return/break/continue产生的问题的文章就介绍到这了,更多相关foreach()中使用return/break/continue内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JVM完全解读之GC日志记录分析

    JVM完全解读之GC日志记录分析

    这篇文章主要介绍了JVM完全解读之GC日志记录分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-01-01
  • 关于Java反射给泛型集合赋值问题

    关于Java反射给泛型集合赋值问题

    这篇文章主要介绍了Java反射给泛型集合赋值,需要的朋友可以参考下
    2022-01-01
  • springboot+Vue实现分页的示例代码

    springboot+Vue实现分页的示例代码

    本文主要介绍了springboot+Vue实现分页的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • jdbcTemplate使用方法实例解析

    jdbcTemplate使用方法实例解析

    这篇文章主要介绍了jdbcTemplate使用方法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 解决idea打包成功但是resource下的文件没有成功的问题

    解决idea打包成功但是resource下的文件没有成功的问题

    这篇文章主要介绍了解决idea打包成功但是resource下的文件没有成功的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • mybatis拦截器注册初始化编写示例及如何生效详解

    mybatis拦截器注册初始化编写示例及如何生效详解

    这篇文章主要为大家介绍了mybatis拦截器注册初始化编写示例及如何生效详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Kotlin 基础语法详细介绍

    Kotlin 基础语法详细介绍

    这篇文章主要介绍了Kotlin 基础语法详细介绍的相关资料,需要的朋友可以参考下
    2017-05-05
  • Java如何配置IDEA自定义注释

    Java如何配置IDEA自定义注释

    在IDEA中设置自动创建类和方法的注释可以提高编码效率,确保代码的一致性和可读性,首先,对于创建类的注释,可以通过修改File→Settings→File and Code Templates→Class的模板来实现,其次,对于方法注释
    2024-10-10
  • Intellij IDEA中启动多个微服务(开启Run Dashboard管理)

    Intellij IDEA中启动多个微服务(开启Run Dashboard管理)

    这篇文章主要介绍了Intellij IDEA中启动多个微服务(开启Run Dashboard管理),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Java实现分库分表实践指南

    Java实现分库分表实践指南

    在开发中我们经常使用到分库分表,但是一般是我们前期就已经做了规划,对数据库怎么划分,对哪些表进行分表,这篇文章主要给大家介绍了关于Java实现分库分表的相关资料,需要的朋友可以参考下
    2024-01-01

最新评论