如何获取groovy对象或类的所有变量?

时间:2013-07-30 12:14:44

标签: groovy

要查看类中的方法列表,我可以这样做 -

String.methods.each {println it}

如何列出实例的所有变量或类的所有静态变量?

EDIT1:

enter image description here

enter image description here

EDIT2:

HoneyBadger.java

public class HoneyBadger {
    public int badassFactor;
    protected int emoFactor;
    private int sleepTime;
}

test.groovy -

HoneyBadger.metaClass.properties.each {println it.name }

输出 -

class

1 个答案:

答案 0 :(得分:6)

你可以这样做:

String.metaClass.properties.each { println it.name }

另一种选择(给出你的新例子)将是:

import java.lang.reflect.Modifier

HoneyBadger.declaredFields
           .findAll { !it.synthetic }
           .each { println "${Modifier.toString( it.modifiers )} ${it.name} : ${it.type}" }