我开始研究观察者设计模式,通过分析代码我遇到了一些问题。
public void notifyObservers() {
for (Observer ob : observers) {
System.out.println("Notifying Observers on change in Loan interest rate");
ob.update(this.interest);
}
}
我不明白这一部分:Observer ob : observers
这是什么意思?
答案 0 :(得分:5)
相当于:
for (Iterator<Observer> itr = observers.iterator(); itr.hasNext();)
{
Observer ob = itr.next();
...
}
但是......更具可读性。
答案 1 :(得分:1)
对于在集合Observer
中实现observers
接口的每个对象,请执行以下操作:
System.out.println("Notifying Observers on change in Loan interest rate");
ob.update(this.interest);
ob
是for-each
循环中的临时名称,用于集合observers