我们看这样一个示例
public class ForDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Get set...");
for (int i = 0; i < 4; i++) {
System.out.println(i+"...");
}
}
}
测试结果
Get set...
0...
1...
2...
3...
上面的方法中没有太多的代码非常的简单,但是我们认为这样的迭代还是比较繁琐。Java8 提供了一种更简单、更优雅的替代方法:IntStranm 的 range 方法。我们重写上面的方法。
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Get set...");
IntStream.range(0,4).forEach(i -> System.out.print(i +"..."));
}
测试结果
Get set...
0...1...2...3...
上面重写的例子我们看到并没有显著的减少代码量,但是降低了它的复杂性。这样做有两个重要的原因:
不同于 for,range 不会强迫我们初始化某个可变变量。
迭代会自动执行,所以我们不需要像循环索引一样定义增量。