As per the java documentation says :
The Iterable<T>
allows an object to be used as the target of a for-each statement.
In java we can do the following :
for (final <? super T> : T[]) {...}
In this case, why java cannot consider an object of type T[] as being an Iterable, Because the following crashes with an incomptaible types compilation error :
final Iterable<T> anIterable = T[];