例如:我有一个方法
def someMethod(object){
//retrieve all properties as key:value pair
for(prop in object.getProperties()) {
println(prop.getValue().getClass())
}
}
如果财产已经有价值,那就很有效。但如果它没有返回
org.codehaus.groovy.runtime.NullObject
那么有没有办法获得属性的预期类名?
答案 0 :(得分:3)
我明白了:
def someMethod(object) {
for(prop in object.getClass().getDeclaredFields()) {
if (!prop.getName().contains("\$") && prop.getName() != "metaClass")
println(prop.getName() + " " + prop.getType())
}
}
答案 1 :(得分:0)
它可能更干净:
object.getClass().declaredFields.findAll { !it.synthetic }.each {
println "${it.name $it.type"
}