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
T
andS
are primitive types and assignable without a cast S
is a primitive type andT
can be converted to a type assignable toS
after unboxing conversion.T
is a primitive type and can be converted toS
by 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