如何在groovy中获取方法参数/参数的名称



我有一个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]"

相关内容

  • 没有找到相关文章

最新更新