我是新来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