gpt4 book ai didi

java - 即使在扩展后,如何观察自定义对象何时更改

转载 作者:行者123 更新时间:2023-11-29 06:08:54 24 4
gpt4 key购买 nike

假设我在 java 中有一个自定义对象:

   public class TestObject {

private int value = 0;

public TestObject(int value) {
this.value = value;
}

public void increaseValue() {
value++;
}

}

现在我想知道这个对象什么时候被修改了。或者更具体地说,我想知道它的任何字段何时更改(在本例中为值)。此外,如果我扩展 TestObject,我仍然希望能够监听该对象可能发生的任何字段更改,包括该更改是否是针对新字段的新字段。

我做了一些研究,发现了 java 附带的各种监听器,但它们似乎都在要求您在方法末尾调用监听器的领域失败。例如,increaseValue() 还必须通知 TestObject 的所有监听器该值已更改。显然这对我不起作用,因为可扩展性是必须具备的,而且我不知道从该对象继承的人是否会遵守他们必须通知听众的要求。更不用说,为每个增变器方法编写程序似乎很痛苦

如果可以阐明这个主题,我们将不胜感激。

最佳答案

您可以使用 approach that Hibernate uses即检测/代理您的类以围绕您的 POJO 的 getter 和 setter 添加额外的(监听器)逻辑。但是你需要确保所有的都只使用代理类。

关于java - 即使在扩展后,如何观察自定义对象何时更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7709561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com