我有一个小方法,我想传递一个对象,以及方法应该更新的属性。例如:
public MyModel myMethod(MyModel myObject, MyClassProperty theProperty, String someValue) {
myObject.theProperty = someValue;
return myObject;
}
对于这一点,我当然不需要方法,但是在方法中还有很多事情要做。我把它归结为它的本质。
有人知道如何将对象的属性作为应该更新的参数传递吗? (这有点难以用语言表达,但我希望你理解我的意思)
答案 0 :(得分:1)
试试这个:
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);
}
}
希望这会有所帮助:)