For Each
suggest changeWith Java 5 and up, one can use for-each loops, also known as enhanced for-loops:
List strings = new ArrayList();
strings.add("This");
strings.add("is");
strings.add("a for-each loop");
for (String string : strings) {
System.out.println(string);
}
For each loops can be used to iterate over Arrays and implementations of the Iterable interface, the later includes Collections classes, such as List or Set.
The loop variable can be of any type that is assignable from the source type.
The loop variable for a enhanced for loop for Iterable<T> or T[] can be of type S, if
T extends S- both
TandSare primitive types and assignable without a cast Sis a primitive type andTcan be converted to a type assignable toSafter unboxing conversion.Tis a primitive type and can be converted toSby autoboxing conversion.
Examples:
T elements = ...
for (S s : elements) {
}
T | S | Compiles |
—— | —— | ––|
int[] | long | yes|
long[] | int | no|Iterable<Byte> | long | yes|Iterable<String> | CharSequence | yes |Iterable<CharSequence> | String | no |
int[] | Long | no |
int[] | Integer | yes |
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents