在代码中循环奇怪

时间:2013-06-09 17:28:43

标签: java

我开始研究观察者设计模式,通过分析代码我遇到了一些问题。

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这是什么意思?

2 个答案:

答案 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);

obfor-each循环中的临时名称,用于集合observers

中的每个对象