如何打印出(公共和内部)变量及其Groovy对象的值?在Groovy对象中打印变量和值
即
class X
{
def X = 10
def Y = 5
private void doPrivate()
{
def Z = 3
}
}
应该给
X, 10
Y, 5
Z, 3
这必须是一个动态的解决方案,即在运行时。
如何打印出(公共和内部)变量及其Groovy对象的值?在Groovy对象中打印变量和值
即
class X
{
def X = 10
def Y = 5
private void doPrivate()
{
def Z = 3
}
}
应该给
X, 10
Y, 5
Z, 3
这必须是一个动态的解决方案,即在运行时。
您的意思是?
def a = "Hi"
a.properties.each { println "$it.key -> $it.value" }
给出:
class -> class java.lang.String
bytes -> [72, 105]
empty -> false
[编辑]
与您编辑的问题,这将给你:
class -> class X
y -> 5
metaClass -> [email protected][[email protected][class X]]
x -> 10
我不认为这是有可能得到Z值在运行时...我能想到的唯一方法就是通过AST ...
dump()不打印,它返回一个字符串。您将需要打印结果。即println“ddd”.dump() – ebelisle 2014-06-20 18:44:34
是你在谈论反思? – 2010-06-18 12:51:43