我是新來groovy,仍然在學習我的方式。有沒有一種簡單的方法來使用點符號在常規中獲取POJO屬性值?例如,我有以下POJO:簡單的方法來訪問groovy中的POJO屬性?
public class MyPOJO {
protected String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
在Groovy中,我想獲得的名稱字段的值如下:
def doSomething (MyPOJO mpj) {
def name = mpj.name
// do something
}
以上不起作用。我知道,我仍然可以使用Java getter和setter方法,但是我想能夠得到的地步,我可以動態地拉POJO值,就像這樣:
def doSomething (MyPOJO mpj, String propertyName) {
def propertyValue = mpj.'${propertyName}'
// do something
}
我試圖避免使用Java反射。謝謝您的幫助!
你能解釋一下哪些不適合你嗎?你的代碼適合我。 –
這就是它應該如何與Groovy協同工作的問題 - 只需稍作修改,當動態訪問屬性時需要使用GString(雙引號)'def propertyValue = mpj。「$ {propertyName}」' – stempler
downvotes,真的嗎? – cfrick