我的項目有要求知道是否使用更改數據,但我不允許修改數據模型本身。例如,我有類是這樣的:如何監視類變量的變化?
public class Person {
String firstName;
String lastName;
Address address;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Address getAddress() {
return lastName;
}
public void setAddress(Address address) {
this.address= address;
}
}
它應該永遠是POJO這個樣子,我不能調用中的getter/setter任何其他方法,所以有一些解決方案,但它不是適合我要求:
- How to detect if a variable has changed?
- How to watch a variable for changes
- How to create change listener for variable?
我也不能在這裏應用Observer模式。
我目前的解決方案是:在初始化人員實例後,我將其解析爲JSON並創建一個哈希(MD5),每當我想檢查更改時,我都會再次執行該邏輯並將新哈希與舊哈希進行比較。如果不一樣,那意味着我的數據已經改變。不知何故,它工作正常,但我仍然擔心它,不知道這是否好方法。
爲什麼不能只需使用''==比較? –
你陳述一個模糊的目標,然後消除所有通常的方法來實現這個目標。如果您通過解釋使之成爲必要的高級業務案例來開始,這將有所幫助。 –
你也表明你有什麼作品......所以你不清楚你真的在問什麼? – TylerH