Java には、何かを N 回繰り返すための単純な構造はありません。もちろん、for ループを作成することもできますが、ほとんどの場合、ループ内にどのような種類の変数を作成するかはあまり気にしません。コードの一部を N 回繰り返すだけで十分です。
Java 8 でのラムダ式の導入により、次のようなものが使用できるようになります。 これは
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(); } }
おそらく、古き良き for ループほど見た目には美しくないし、明白ではありませんが、ループ内の余分な変数を取り除くことができます。Java 8 がそれをさらに一歩進めて、ラムダ式の引数に「チョコレート」構文を提供してくれれば、Scala/Groovy コードのようなものになり、コードがより視覚的になるでしょう。例:
// Ну разве не здорово было бы иметь такую конструкцию в Java? repeat(10) { System.out.println("HELLO"); System.out.println("WORLD"); }
ソース
GO TO FULL VERSION