gee*_*jay 31 reflection groovy
如何打印出(公共和内部)变量及其Groovy对象的值?
即
class X
{
def X = 10
def Y = 5
private void doPrivate()
{
def Z = 3
}
}
Run Code Online (Sandbox Code Playgroud)
应该给
X, 10
Y, 5
Z, 3
Run Code Online (Sandbox Code Playgroud)
这必须是动态解决方案,即在运行时.
Dón*_*nal 78
dump()
例如
"ddd".dump()
Run Code Online (Sandbox Code Playgroud)
打印:
java.lang.String@2ef900 value = dddd offset = 0 count = 4 hash = 3078400
tim*_*tes 38
你的意思是这样的?
def a = "Hi"
a.properties.each { println "$it.key -> $it.value" }
Run Code Online (Sandbox Code Playgroud)
得到:
class -> class java.lang.String
bytes -> [72, 105]
empty -> false
Run Code Online (Sandbox Code Playgroud)
[编辑]
通过您编辑的问题,这将为您提供:
class -> class X
y -> 5
metaClass -> org.codehaus.groovy.runtime.HandleMetaClass@16de4e1[groovy.lang.MetaClassImpl@16de4e1[class X]]
x -> 10
Run Code Online (Sandbox Code Playgroud)
我不认为在运行时获取Z值是可能的......我能想到的唯一方法是通过AST ...
| 归档时间: |
|
| 查看次数: |
49352 次 |
| 最近记录: |