关于观察者内置设计模式:
java.util.Observable;
java.util.Observer;
观察结果是否必须可序列化?
Observer
有一个合同来实现一个update
方法来回调它的观察结果。回调看起来像这样:
@Override
public void update(Observable observable, final Object observation) {
// do some stuff with the notification
}
我的问题是:最后一个名为observe的参数,是否必须是可序列化的,还是可以通知任何类型的对象?
答案 0 :(得分:4)
如果要求对象可序列化,那么它将在接口定义中声明为可序列化。如:
public void update(Observable observable, final Serializable observation)
但事实并非如此,因此没有强制要求。
答案 1 :(得分:2)
不,observation
参数不必是可序列化的。否则参数类型应为Serializable
。