每個人

Version >= Java SE 5

使用 Java 5 及更高版本,可以使用 for-each 迴圈,也稱為增強型 for 迴圈:

List strings = new ArrayList();
        
strings.add("This");
strings.add("is");
strings.add("a for-each loop");
        
for (String string : strings) {
    System.out.println(string);
}

因為每個迴圈都可以用於遍歷陣列Iterable介面的實現,後者包括集合類,例如 ListSet

迴圈變數可以是可從源型別分配的任何型別。

用於 Iterable<T>T[] 的增強 for 迴圈的迴圈變數可以是 S,if 的型別

  • T extends S
  • TS 都是原始型別,並且可以在沒有強制轉換的情況下進行分配
  • S 是一種原始型別,T 可以在拆箱轉換後轉換為可分配給 S 的型別。
  • T 是一種原始型別,可以通過自動裝箱轉換轉換為 S

例子:

T elements = ...
for (S s : elements) {
}
T S 編譯
int[] long
long[] int 沒有
Iterable<Byte> long
Iterable<String> CharSequence
Iterable<CharSequence> String 沒有
int[] long 沒有
int[] Integer