【问题标题】:Groovy read feature methods with reflectionGroovy 使用反射读取特征方法
【发布时间】:2014-11-18 16:27:09
【问题描述】:

我正在尝试使用反射从 groovy 类中读取字段和方法。一切都很好,期待我的功能方法是这样的:

def "do something"(){
//
}

使用反射我找不到这个“方法名称”。 有没有什么方法可以通过反射来读取这些特征方法?

提前致谢!

【问题讨论】:

  • 您是在谈论 Spock 规范吗?在常规的 Groovy 代码中,您可以使用反射找到此方法名称(在某些情况下它会编译/运行失败)。
  • 没错。感谢您的链接。我阅读了更多关于 groovy 的内容,并将已编译的 groovy spock 类加载到 Java 反编译器中,以“查看”groovy 创建了什么;)

标签: java reflection groovy spock


【解决方案1】:

你可以通过metaClass找到它:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 2016-07-26
    • 1970-01-01
    • 2011-04-16
    相关资源
    最近更新 更多