Syntax
for (Object objectname : preArrayList(一个Object对象的列表)) {}
Beispiel
package com.kuaff.jdk5; import java.util.*; import java.util.Collection; public class Foreach { private Collection c = null; private String[] belle = new String[4]; public Foreach() { belle[0] = "西施"; belle[1] = "王昭君"; belle[2] = "貂禅"; belle[3] = "杨贵妃"; c = Arrays.asList(belle); } public void testCollection() { for (String b : c) { System.out.println("曾经的风化绝代:" + b); } } public void testArray() { for (String b : belle) { System.out.println("曾经的青史留名:" + b); } } public static void main(String[] args) { Foreach each = new Foreach(); each.testCollection(); each.testArray(); } }
Sowohl für Sammlungstypen als auch für Array-Typen können wir über die foreach-Syntax darauf zugreifen. Im obigen Beispiel mussten wir vorher sequentiell auf das Array zugreifen, was ziemlich mühsam war:
for (int i = 0; i < belle.length; i++) { String b = belle[i]; System.out.println("曾经的风化绝代:" + b); }
Jetzt brauchen wir nur noch die folgende einfache Anweisung:
for (String b : belle) { System.out.println("曾经的青史留名:" + b); }
Die Auswirkung des Zugriffs Die Sammlung ist offensichtlicher. Früher war unser Code für den Zugriff auf die Sammlung:
for (Iterator it = c.iterator(); it.hasNext();) { String name = (String) it.next(); System.out.println("曾经的风化绝代:" + name); }
Jetzt brauchen wir nur noch die folgende Anweisung:
for (String b : c) { System.out.println("曾经的风化绝代:" + b); }
Foreach ist nicht allmächtig, es weist außerdem die folgenden Mängel auf:
Im vorherigen Code können wir den Entfernungsvorgang über Iterator ausführen.
for (Iterator it = c.iterator(); it.hasNext();) { itremove() }
In der aktuellen foreach-Version können wir jedoch die in der Sammlung enthaltenen Objekte nicht löschen. Sie können auch keine Objekte ersetzen.
Gleichzeitig können Sie nicht mehrere Sammlungen gleichzeitig foreachen. Wenn wir Code schreiben, müssen wir ihn daher je nach Situation verwenden.
Weitere Artikel zu foreach-Verwendungsbeispielen in Java-Programmen finden Sie auf der chinesischen PHP-Website!