在变量监听器中,应该手动更新外部变量的值,而不仅仅是更新影子变量的值。以下是一个示例:
public class MyClass {
private int myVariable = 0;
private int shadowVariable = 0;
public void setMyVariable(int newValue) {
myVariable = newValue;
shadowVariable = newValue;
}
public int getMyVariable() {
return myVariable;
}
public int getShadowVariable() {
return shadowVariable;
}
public void onVariableChanged() {
// do something here
myVariable = shadowVariable; // 手动更新外部变量的值
}
}
在此示例中,当调用 setMyVariable()
时,不仅会更新 myVariable
的值,还会更新 shadowVariable
的值。在 onVariableChanged()
中,我们手动将 myVariable
的值更新为 shadowVariable
的值,以确保外部变量始终与影子变量的值相同。
上一篇:变量将自己设置为另一个变量的值。