Java 带有反射的Groovy读取特性方法

Java 带有反射的Groovy读取特性方法,java,reflection,groovy,spock,Java,Reflection,Groovy,Spock,我试图使用反射从groovy类读取字段和方法。除了我的功能方法外,一切都很好: def "do something"(){ // } 使用反射,我找不到这个“方法名”。 有没有办法通过反射来读取这些特征方法 提前谢谢 您可以使用元类找到它: class Lol { def 'do something'(){} } assert new Lol().metaClass.methods.find { it.name == 'do something' } 这可能会对你有所帮助你在说斯波

我试图使用反射从groovy类读取字段和方法。除了我的功能方法外,一切都很好:

def "do something"(){
//
}
使用反射,我找不到这个“方法名”。 有没有办法通过反射来读取这些特征方法


提前谢谢

您可以使用元类
找到它:

class Lol {
    def 'do something'(){}
}

assert new Lol().metaClass.methods.find { it.name == 'do something' }

这可能会对你有所帮助你在说斯波克规范吗?在常规Groovy代码中,您可以使用反射找到此方法名称(在某些情况下它将无法编译/运行)。谢谢你的链接。我阅读了更多关于groovy的内容,并将一个已编译的groovy spock类加载到Java反编译器中,以“查看”groovy创建了什么;)