zoukankan      html  css  js  c++  java
  • Groovy中each、find跳出循环

    在groovy中使用break跳出each或者find的循环会会报错,为什么呢?groovy中each、find方法是一个闭包操作,要想跳出循环要使用 return true,但有几个问题有待研究:

    1、groovy each 中的return true 相当于Java中的continue , 但不完全是,看一下例子。

    2、groovy find中的return true 相当于Java中的break,

    each例子:
    def a = [1, 2, 3, 4]
    a.each {
    if (it == 2)
    return true // 满足条件本轮循环结束
     println it
    }
    println "-----------------------"
    a.each {
    if (it >= 2)
    return true // 满足条件本轮循环结束
     println it
    }

    结果:

    1
    3
    4
    -----------------------
    1

    find例子:
    def a = [1, 2, 3, 4]
    a.find {
    if (it == 2)
    return true // break
     println it
    }
    println "-----------------------"
    a.find {
    if (it >= 2)
    return true // break
     println it
    }

    结果:

    1
    -----------------------
    1

  • 相关阅读:
    简单题
    bzoj2131
    bzoj1706
    bzoj3531
    bzoj3744
    bzoj2724
    bzoj3343
    bzoj1005
    编程中、遇到问题、bug多思考
    线上系统奇怪问题总结,性能问题不能依赖经验
  • 原文地址:https://www.cnblogs.com/jsersudo/p/10342110.html
Copyright © 2011-2022 走看看