我們看這樣一個示例
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 不會強迫我們初始化某個可變變量。
迭代會自動執行,所以我們不需要像循環索引一樣定義增量。