gpt4 book ai didi

java - 如何在 Java 可观察对象(MVC)中观察同一类的多个数据?

转载 作者:行者123 更新时间:2023-11-29 09:11:46 25 4
gpt4 key购买 nike

这是我想到的 2 个选项。

  1. 拥有多个模型,每个模型代表一个类别。如果我有 2 个整数对象,我需要创建 2 个 observable 并查看检​​查哪个observable 发生了变化。

  2. 在单个可观察对象(模型)中,将相同对象的多个对象分组类成数组。鉴于我将不得不迭代数组和更改包含数组中所有数据的所有字段。

我开始学习如何使用 java observable 和 observer 实现 MVC 模式。我发现我提到的 2 种方法不是最佳解决方案。希望能得到一些帮助。

编辑:例如,我在可观察类中有以下方法,有人可以告诉我如何在观察者中编写 update() 来获取 int b 的值吗?

public void setIntA(int a){
this.intA = a;
setChanged();
notifyObservers(a);
}
public void setIntB(int b){
this.intB = b;
setChanged();
notifyObservers(b);
}
setIntA(5);
setIntB(3);

最佳答案

我不太确定您在这里尝试做什么,但是如果您有一个扩展 Observable 的类,那么它可以出于多种原因触发更改事件。如果您只想在任何值更改时通知观察者,那么您只需要在 setter 中调用 setChanged() 和 notifyObservers() 。就像 Thilo 说的,你可以将改变的东西作为参数传递给notifyObservers();

public void setIntA(int a){
this.intA = a;
setChanged();
notifyObservers(a);
}

我建议您务必阅读 Javadoc彻底了解 Observer 和 Observable。

关于java - 如何在 Java 可观察对象(MVC)中观察同一类的多个数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11984753/

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