Grammatik
Kopieren Sie den Codecode wie folgt:
for (Objektobjektname: preArrayList(eine Liste von Objektobjekten)) {}
Beispiel
Kopieren Sie den Codecode wie folgt:
Paket com.kuaff.jdk5;
import java.util.*;
import java.util.Collection;
öffentliche Klasse Foreach
{
private Sammlung c = null;
private String[] belle = new String[4];
publicForeach()
{
belle[0] = „Xi Shi“;
belle[1] = „Wang Zhaojun“;
belle[2] = "Diao Chan";
belle[3] = „Yang Guifei“;
c = Arrays.asList(belle);
}
public void testCollection()
{
for (String b : c)
{
System.out.println("Einmal eine unvergleichliche, verwitterte Person:" + b);
}
}
public void testArray()
{
for (String b: belle)
{
System.out.println("Die Vergangenheit hat einen Namen in der Geschichte hinterlassen:" + b);
}
}
public static void main(String[] args)
{
Foreach every = new Foreach();
every.testCollection();
every.testArray();
}
}
Sowohl auf Sammlungstypen als auch auf Array-Typen können wir über die foreach-Syntax darauf zugreifen. Im obigen Beispiel haben wir nacheinander auf die Arrays zugegriffen, was ziemlich mühsam war:
Kopieren Sie den Codecode wie folgt:
for (int i = 0; i < belle.length; i++)
{
String b = belle[i];
System.out.println("Einmal ein unvergleichlicher, verwitterter Mensch:" + b);
}
Jetzt genügt die folgende einfache Aussage:
Kopieren Sie den Codecode wie folgt:
for (String b: belle)
{
System.out.println("Die Vergangenheit hat einen Namen in der Geschichte hinterlassen:" + b);
}
Der Effekt des Zugriffs auf Sammlungen ist offensichtlicher. Zuvor haben wir auf den Sammlungscode zugegriffen:
Kopieren Sie den Codecode wie folgt:
for (Iterator it = c.iterator(); it.hasNext();)
{
String name = (String) it.next();
System.out.println("Einmal eine unvergleichliche, verwitterte Person:" + Name);
}
Jetzt brauchen wir nur noch die folgende Aussage:
Kopieren Sie den Codecode wie folgt:
for (String b : c)
{
System.out.println("Einmal ein unvergleichlicher, verwitterter Mensch:" + b);
}
Foreach ist nicht allmächtig und weist auch die folgenden Mängel auf:
Im vorherigen Code konnten wir den Entfernungsvorgang über Iterator ausführen.
Kopieren Sie den Codecode wie folgt:
for (Iterator it = c.iterator(); it.hasNext();)
{
itremove()
}
In der aktuellen Version von foreach können wir jedoch die in der Sammlung enthaltenen Objekte nicht löschen. Sie können auch keine Objekte ersetzen.
Außerdem können Sie nicht mehrere Sammlungen gleichzeitig forachen. Wenn wir Code schreiben, müssen wir ihn daher je nach Situation verwenden.