美文网首页
Groovy闭包中return的坑

Groovy闭包中return的坑

作者: 4e70992f13e7 | 来源:发表于2018-07-14 16:40 被阅读168次

一直沉浸在Groovy的强大和方便中,稍微不注意就被坑了一把。

在each方法中return相当于Java循环中的continue,只会终止当前闭包中的代码,继续下一次循环。并不会跳出循环外的方法。

实际应用中代码的逻辑往往比前面的两段示例更复杂,如果测试不够全面,结果会很惨。

Java的保守也有好处,简单易懂,不容易出错。Groovy的闭包虽然方便,也容易埋下隐患。

boolean hasValueGreaterThan(list,min){
  list.each{
    if(it>min){
      //这个return因为在闭包中,相当于for循环中的continue,终止当前循环中的代码,进行下一次循环,并不会返回hasValueGreaterThan方法的结果
      return true;
    }
  }

boolean hasValueGreaterThan(list,min){
  for(int i=0;i<list.size();i++){
    if(list.get(i)>min){
      //要用for循环,才能正常返回
      return true;
    }
  }
}

相关文章

  • Groovy闭包中return的坑

    一直沉浸在Groovy的强大和方便中,稍微不注意就被坑了一把。 在each方法中return相当于Java循环中的...

  • Groovy 相对 Java 的一些新玩意

    Groovy 是轻量级的 Java 方法,闭包中 return 语句是可选的,如果没有 return,则默认返回方...

  • 详解 groovy 的闭包(上)

    groovy 的闭包特点 在 groovy 中的闭包。groovy 中的闭包是一个开放的匿名代码块,可以接受参数,...

  • Groovy语法简介

    Groovy简单语法: Groovy中的闭包:

  • 二、Groovy语法(二):闭包

    Groovy闭包 1、Groovy中闭包基础 1.1 闭包的概念闭包是被包装成对象的代码块,可以通过一个变量引用到...

  • js使用foreach遍历数组的坑

    js使用foreach遍历数组的坑,无法使用 return 语句来从闭包函数中返回

  • Groovy 闭包

    本文介绍了Groovy闭包的有关内容。闭包可以说是Groovy中最重要的功能了。如果没有闭包,那么Groovy除了...

  • 《Groovy极简教程》第9章 Groovy闭包(Closure

    《Groovy极简教程》第9章 Groovy闭包(Closures)

  • Groovy 闭包

    好久没动笔(键盘)了,发现自己变懒了。但是在实际的工作过程中,总是责怪自己没有动笔把自己之前的遇到的问题记录下来,...

  • Groovy 闭包

    闭包 闭包是一段可执行的代码块,类似于方法也可以传递参数;可在闭包中访问属性值,也就是说可以修改闭包作用域中的所有...

网友评论

      本文标题:Groovy闭包中return的坑

      本文链接:https://www.haomeiwen.com/subject/xmyypftx.html