如何在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。。但是,见鬼,它起作用了!啊,对。打扰一下完成!