2017-03-28 4 views
1

を取得する方法はあります:私は、プロパティがすでに値を持っている場合、それはうまく動作方法Groovyは:たとえば期待プロパティクラス名

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

を持っています。しかし、それが返されない場合

プロパティの予想されるクラス名を取得する方法はありますか?

答えて

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" 
} 
関連する問題