在声明一个闭包时,我们可以使用以下方法查询它接受的参数数量:
Closure#getMaximumNumberOfParameters()
例如:
def closure = { String param ->
}
println(closure.maximumNumberOfParameters)
将输出:
1
为什么该方法将参数数量声明为最大值而不是常量?
在什么情况下这个方法的返回值会与闭包中声明的实际参数数量不同?
最佳答案
默认参数?
def closure = { String param = 'something' ->
}
所以你可以在技术上调用
closure()
和
closure('something else')
关于groovy - 为什么 Groovy 闭包声明一个最大值,而不是常量数量的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32680213/