我有一个groovy脚本,它有一个带有2个参数的函数,其中一个是hashmap。我想检查函数中hashmap变量的名称是否包含子字符串。我该怎么做?
def myfunc(String var, HashMap var2)
{
// need a routine to retrive the name of the variable var2
}
说明如下:获取方法参数的名称
按照语法访问groovy脚本的方法:
metaClass.methods
听起来您想要--parameters
(别名-pa
)编译器参数。
在JDK 8及以上版本上为方法参数名的反射生成元数据。默认为false。
用法:groovy --parameters Person.groovy
也可用于groovyc
, groovyConsole
, groovysh
和groovy ant tasks
。看看一些很棒的人贡献的PR…
。
class HelloWorld {
static void speak(String firstName) {
println "Hello $firstName"
}
}
Student.methods.each {
if (it.name === 'speak') println it.parameters
}
// groovy HelloWorld.groovy => "[java.lang.String arg0]"
// groovy -pa HelloWorld.groovy => "[java.lang.String firstName]"