Тебе не понравится (и я надеюсь, что это не плохо - исследовать и отвечать), однако:
Существует нет API для доступа к списку параметров, объявленных в Groovy Closure
или в Java Method
.
Я также рассмотрел связанные типы, включая (для Groovy) MetaClass
, а также подтипы и типы в пакете org.codehaus.groovy.reflection
и (для Java) типы в пакете java.lang.reflect
.
Кроме того, я сделал обширный поиск в Google, чтобы отследить инопланетян . ; -)
Если нам нужен список переменных длины для аргументов замыкания или метода, мы можем использовать массив Object[]
, List
или varargs
в качестве параметров:
def closure = { id, Object... args ->
println id
args.each { println it }
}
closure.call(1, "foo", "bar")
Ну, это ограничения и опции!