我是groovy的新手,仍在学习我的方式。有没有一种简单的方法可以使用点表示法在groovy中获取POJO属性值?例如,我有以下POJO:
public class MyPOJO {
protected String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
在groovy中,我想获取name字段的值,如下所示:
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反射。谢谢你的帮助!
答案 0 :(得分:0)
Michal - 道歉......第一个代码片段正在运行,第二个代码片段没有。
stempler - 有效!这是在啃我。纠正的片段:
def doSomething (MyPOJO mpj, String propertyName) {
def propertyValue = mpj."${propertyName}"
// do something
}