gpt4 book ai didi

Java 观察者模式 - 将信息传递给其他类 - 方法

转载 作者:行者123 更新时间:2023-12-01 10:05:12 25 4
gpt4 key购买 nike

查询 - 如果我需要使 Observer 类中的信息可供其他类中的方法使用,我想知道应该如何继续编码。

观察者以Object[]的形式接收来自Observable的更新。我能够将输出打印到控制台,但不清楚如何将此信息提供给其他类。

我尝试在观察者中创建一个 getInfo 方法,该方法返回 Object[] ,然后在需要信息的类中实例化观察者,调用 getInfo 方法。但我遇到了空指针异常。

代码 - 观察者

private String car;
private CarModel carModel;

public broadcastObserver(Observable observable){
observable.addObserver(this);
}

@Override
public void update(Observable observable, Object arg) {
Object[] subjectMessage = (Object[])arg;
int i = 0;
for (Object o : subjectMessage) {
switch (i){
case 0:
car = (String)o;
i++;
break;
case 1:
carModel = (CarModel) o;
i++;
break;
}
}
}
public Object[] getObserverFeed(){
Object[] observerFeed = new Object[]{car,carModel};
return observerFeed;
}

代码 - 需要信息的类方法

broadcastObserver bO = new broadcastObserver();

Object[] feed = bO.getObserverFeed();

最佳答案

反转数据流:不要尝试使用 get 方法从观察者中提取信息,而是使用观察者将信息推送到需要的位置。 p>

关于Java 观察者模式 - 将信息传递给其他类 - 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36527257/

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