Meine Frage betrifft die Java foreach-Schleife, eingeführt in Java 5 und Iterable.forEach()
, in Java eingeführt 8.Ist der Ersatz einer foreach-Schleife durch Iterable.forEach rein kosmetisch?
Lassen Sie uns sagen, dass ein Programm mit einer Liste der String-Werte vorhanden ist, und die Funktion des Programms ist über iterieren jede einzelne Zeichenfolge und verwenden Sie es als Methodenparameter.
Ein solches Programm wie dieses, wie von Java aussehen könnte 5:
for (String s : stringList) {
doSomething(s);
}
jedoch mit der Einführung von Iterable.forEach()
in Java 8, ein solches Programm könnte wie folgt aussehen:
stringList.forEach(this::doSomething);
Meine Frage ist, gibt es einen Grund, Iterable.forEach()
anstatt der foreach-Schleife jenseits der Einsparung von ein paar Zeilen zu verwenden?
Wenn 'doSomething' eine geprüfte Ausnahme wirft, Sie dann fangen sie explizit ... müssen – Tunaki
@Tunaki Es kann nicht klar gewesen, aber ich meinte implizieren Das ist eine sichere Methode ohne Ausnahmen. – GingerDeadshot
Es macht mehr Unterschied, wenn Sie einen parallelen Strom verwenden. –