-1

我还是 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)
    }
}

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

4

1 回答 1

2

直到 Java 8。在 Java 8 中,我们将支持类似于 lambdas/closures 的东西,我们将能够传入一个函数或其片段而不是原始/对象。当 Java 8 出现时,您可以执行以下操作:

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

根据 lambda 参考,您将看到如下内容:

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

通话。

于 2013-09-14T19:54:16.663 回答