In Java gibt es kein einfaches Konstrukt, um etwas N-mal zu wiederholen. Natürlich können wir eine for-Schleife erstellen, aber in den allermeisten Fällen ist es uns egal, welche Art von Variable wir in der Schleife erstellen. Wir möchten lediglich, dass ein Teil des Codes N-mal wiederholt wird, und das war’s.
Mit der Einführung von Lambda-Ausdrücken in Java 8 können Sie so etwas verwenden:
public class RepeatDemo { public static void main(String[] args) { // Повтор одной строки repeat(10, () -> System.out.println("HELLO")); // Повтор нескольких строк repeat(10, () -> { System.out.println("HELLO"); System.out.println("WORLD"); }); } static void repeat(int n, Runnable r) { for (int i = 0; i < n; i++) r.run(); } }
Es ist wahrscheinlich nicht so angenehm für das Auge oder so offensichtlich wie eine gute alte for-Schleife, aber es beseitigt eine zusätzliche Variable in der Schleife. Wenn Java 8 nur noch einen Schritt weiter gehen und eine „Schokoladen“-Syntax für die Argumente in Lambda-Ausdrücken bereitstellen würde, dann hätten wir so etwas wie Scala/Groovy-Code, der den Code viel visueller machen würde. Zum Beispiel:
// Ну разве не здорово было бы иметь такую конструкцию в Java? repeat(10) { System.out.println("HELLO"); System.out.println("WORLD"); }
Quelle
GO TO FULL VERSION