代码之家  ›  专栏  ›  技术社区  ›  Mike Axiak

在groovy中动态分配POJO的属性

  •  1
  • Mike Axiak  · 技术社区  · 16 年前

    如果我有一个Java类,它具有属性“FieldNeX”和“LaSTNEX”,我想基于变量动态分配属性。举个例子:

    public class MyClass {
        public String firstName;
        public String lastName;
    }
    
    ...
    def varname = "firstName";
    def value = "Smith";
    def instance = new MyClass();
    /* Something like the following */
    instance.$varname = value;
    

    我知道在python中我可以使用setattr(instance,varname,value)。这与setproperty正好相反。

    谢谢

    2 回复  |  直到 16 年前
        1
  •  0
  •   Mike Axiak    16 年前

    没关系,这是

    instance.@"$varname" = value
    
        2
  •  0
  •   towe75    16 年前

    你也可以用

    instance.setproperty(varname,value)

    或者也许

    实例[varname]=值