Abfrage - Ich würde gerne wissen, wie ich mit dem Code fortfahren soll, wenn ich die Informationen in der Observer Klasse für Methoden in anderen Klassen verfügbar machen muss.Java Observer Pattern - Informationen an andere Klassen übergeben - Methoden
Der Beobachter erhält die Updates von Observable in Form von Object []. Ich bin in der Lage, die Ausgabe auf Konsole zu drucken, aber nicht klar, wie diese Informationen für andere Klassen verfügbar gemacht werden.
Ich versuchte durch Erstellen einer Methode getInfo im Observer, die das Object [] & zurückgibt und dann den Observer in der Klasse instanziiert, wo ich die Informationen brauche, indem ich die Methode getInfo aufruft. Aber ich bekomme eine Nullzeiger-Ausnahme.
-Code - Observer
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;
}
-Code - Klasse Methode, wo Informationen benötigt werden
broadcastObserver bO = new broadcastObserver();
Object[] feed = bO.getObserverFeed();
Bitte poste deinen Code, anstatt eine Geschichte darüber zu erzählen. :) –