如何在Java中传递应该更新的对象属性?

如何在Java中传递应该更新的对象属性?,java,android,object,methods,arguments,Java,Android,Object,Methods,Arguments,我有一个小方法,我想在其中传递一个对象,以及该方法应该更新的属性。例如: public MyModel myMethod(MyModel myObject, MyClassProperty theProperty, String someValue) { myObject.theProperty = someValue; return myObject; } 对于这一点,我当然不需要一个方法,但在这个方法中还有很多东西。我只是把它带到了本质上 有人知道如何将对象的属性作为应该更

我有一个小方法,我想在其中传递一个对象,以及该方法应该更新的属性。例如:

public MyModel myMethod(MyModel myObject, MyClassProperty theProperty, String someValue) {
    myObject.theProperty = someValue;
    return myObject;
}
对于这一点,我当然不需要一个方法,但在这个方法中还有很多东西。我只是把它带到了本质上

有人知道如何将对象的属性作为应该更新的参数传递吗?(用语言表达有点困难,但我希望你理解我的意思)

试试这个:

public Object myMethod(Object myObject, String thePropertyName, Object someValue) 
{
    try
    {
        myObject.getClass().getField(thePropertyName).set(myObject, someValue);
    } catch (NoSuchFieldException noFieldException) {
        throw new RuntimeException(noFieldException);
    } catch (IllegalAccessException illegalAccessException) {
        throw new RuntimeException(illegalAccessException);
    }
}

希望这有帮助:)

不使用反射,不,我想。我想你是想强迫语言像JavaScript一样。可以使用反射实现您想要的功能,但这不是Java中的工作方式。我宁愿重新设计代码,使之更加标准和安全(在现实世界的项目中使用反射黑客是不可取的)。真棒,工作起来很有魅力!尽管@MisterSmith指出,这似乎不太像Java。。但是,见鬼,它起作用了!啊,对。打扰一下完成!