是否可以在java中创建一个修改过的循环?

时间:2013-09-14 19:49:31

标签: java loops

我还是Java新手,我想知道有没有办法创建类似自定义循环的东西?我想定义重复,所以我可以传入任何代码块。 这意味着:

通话功能:

String str = "";
repeat(5) {
    str += "x";
}

和方法结构:

public void repeat(int count) {
    for (int i = 0; i <= count; i++) {
        // e.g. str += "x"; (any block of code)
    }
}

显然,这是针对更复杂的方法,但不允许在此处粘贴代码。但它需要类似的结构。

1 个答案:

答案 0 :(得分:2)

直到Java 8.在Java 8中,我们将支持things akin to lambdas/closures,我们将能够传入函数或其片段而不是基元/对象。当Java 8出现时,您可以执行以下操作:

void repeat(int iter, Runnable r){
    for(int i=0; i<iter; i++){
        r.run();
    }
}

根据lambda参考,你会看到类似的东西:

repeat(5,  () -> { str += "x"; });

用于通话。