2017-03-28 53 views
1

例如到:我有一個方法Groovy的:有沒有辦法得到預期的屬性的類名

def someMethod(object){ 
    //retrieve all properties as key:value pair 
    for(prop in object.getProperties()) { 
     println(prop.getValue().getClass()) 
    } 
} 

它運作良好,如果物業已經有了價值。但如果它不是它返回

org.codehaus.groovy.runtime.NullObject 

那麼有什麼辦法來獲得期望的類名屬性?

回答

3

我弄明白:

def someMethod(object) { 
    for(prop in object.getClass().getDeclaredFields()) { 
     if (!prop.getName().contains("\$") && prop.getName() != "metaClass") 
      println(prop.getName() + " " + prop.getType()) 
    } 
} 
0

這可能是清潔劑來做:

object.getClass().declaredFields.findAll { !it.synthetic }.each { 
    println "${it.name $it.type" 
} 
相關問題