我的项目有要求知道是否使用更改数据,但我不允许修改数据模型本身。例如,我有类是这样的:如何监视类变量的变化?
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