为什么Groovy闭包声明了最大值,而不是常量数量的参数

时间:2015-09-20 13:59:36

标签: groovy closures

在声明闭包时,我们可以使用以下方法查询接受参数的数量:

Closure#getMaximumNumberOfParameters()

例如:

def closure = { String param ->
}
println(closure.maximumNumberOfParameters)

将输出:

1

为什么方法将参数数量声明为最大值而不是常量?

在什么情况下,此方法的返回值与闭包中声明的实际参数数量不同?

1 个答案:

答案 0 :(得分:4)

默认参数?

def closure = { String param = 'something' ->
}

所以你可以在技术上致电

closure()

closure('something else')