Es verschönert Ihren Code, indem es alle grundlegenden Schleifen entfernt. Es verleiht Ihrem Code ein sauberes Aussehen, wie unten begründet.
Normal for
Schleife:
void cancelAll(Collection<TimerTask> list) {
for (Iterator<TimerTask> i = list.iterator(); i.hasNext();)
i.next().cancel();
}
Verwendung von for-each:
void cancelAll(Collection<TimerTask> list) {
for (TimerTask t : list)
t.cancel();
}
for-each ist ein Konstrukt über eine Sammlung, die Folgendes implementiert Iterator . Denken Sie daran, dass Ihre Sammlung Folgendes implementieren sollte Iterator ; sonst kann man es nicht mit for-each verwenden.
Die folgende Zeile wird gelesen als " für jede TimerTask t in der Liste. "
for (TimerTask t : list)
Bei der Verwendung von for-each ist die Wahrscheinlichkeit von Fehlern geringer. Sie müssen sich nicht um die Initialisierung des Iterators oder die Initialisierung des Schleifenzählers und die Beendigung der Schleife kümmern (hier besteht die Möglichkeit von Fehlern).