我还是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)
}
}
显然,这是针对更复杂的方法,但不允许在此处粘贴代码。但它需要类似的结构。
答案 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"; });
用于通话。