我如何知道Observer类在Java中发送的通用对象?

我正在使用Java实现Observer / Observable模式。 但是,我在代码的Observer部分遇到问题。

可观察

public class Model extends Observable { public void notify() { this.setChanged(); this.notifyObservers(new ArrayList()); this.notifyObservers(new ArrayList()); } } 

观察

 public class View implements Observer { @Override public void update(Observable observable, Object object) { // TODO: If object is ArrayList? System.out.println("A"); // TODO: If object is ArrayList? System.out.println("B"); } } 

我如何填写TODO注释以检查ArrayList上的generics? 这有可能吗? (如果可能的话,我更愿意在不实施更多课程的情况下这样做。)

您可以使用instanceof查看您的对象是什么类型,但是您滥用了该模式。
我们的想法是Observable有一个定义良好的接口, Observer需要知道的是使用API​​来传递通知。
知道Observable究竟什么的逻辑不应该在代码中混合。
从您的问题听起来,我有2 Observable ,他们应该让他们自己的听众专门感兴趣的通知。 没有一个组合