質問 - Observerクラスの情報を他のクラスのメソッドで利用できるようにする必要がある場合、どのようにコードに進むべきかを知りたい。Java Observer Pattern - 他のクラスのメソッドに情報を渡す
オブザーバはObservableからオブジェクト[]の形式で更新を受け取ります。私は出力をコンソールに出力できますが、この情報を他のクラスで利用できるようにする方法については明確ではありません。
ObserverにObject [] &を返すgetInfoメソッドを作成し、getInfoメソッドを呼び出して、情報が必要なクラスのObserverをインスタンス化しようとしました。しかし、私はNULLポインタの例外を取得しています。
コード - オブザーバー
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();
話をする代わりにコードを投稿してください。 :) –