每個人
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
介面的實現,後者包括集合類,例如 List
或 Set
。
迴圈變數可以是可從源型別分配的任何型別。
用於 Iterable<T>
或 T[]
的增強 for 迴圈的迴圈變數可以是 S
,if 的型別
T extends S
T
和S
都是原始型別,並且可以在沒有強制轉換的情況下進行分配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 |
是 |