我是时髦的新手,还在学习我的方式。 有没有一种简单的方法可以使用点符号在 groovy 中获取 POJO 属性值? 例如,我有以下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反射。 感谢您的帮助!
米哈尔 - 道歉...第一个代码片段有效,第二个代码片段无效。
斯坦普勒 - 奏效了! 这在啃我。 更正的代码段:
def doSomething (MyPOJO mpj, String propertyName) {
def propertyValue = mpj."${propertyName}"
// do something
}