实用小功能 repeat()
可以用来替换简单的 for
循环。代码示例:
// onjava/Repeat.java
package onjava;
import static java.util.stream.IntStream.*;
public class Repeat {
public static void repeat(int n, Runnable action) {
range(0, n).forEach(i -> action.run());
}
}
其产生的循环更加清晰:
// streams/Looping.java
import static onjava.Repeat.*;
public class Looping {
static void hi() {
System.out.println("Hi!");
}
public static void main(String[] args) {
repeat(3, () -> System.out.println("Looping!"));
repeat(2, Looping::hi);
}
}
输出结果:
Looping!
Looping!
Looping!
Hi!
Hi!
原则上,在代码中包含并解释 repeat()
并不值得。诚然它是一个相当透明的工具,但结果取决于你的团队和公司的运作方式。