Grails [Groovy],如何获取类继承的所有方法的列表?

t31*_*321 3 grails groovy

我用它来收集一个类有的所有方法:

grailsApplication.getMainContext().的getBean( "类名").metaClass.methods*.名称

但这会返回所有方法,包括继承的方法,如何只过滤类所拥有的方法

Dur*_*dal 5

这将为您提供过滤的方法名称列表,以仅包含仅属于声明类的方法(SomeClass在此示例中):

SomeClass sc = new SomeClass()
List<String> declaringClassOnlyMethods = sc.metaClass.methods.findAll { MetaMethod method ->
    if(method.declaringClass.name == sc.class.name) {
        method.name
    }
}
Run Code Online (Sandbox Code Playgroud)