avec Java5, nous pouvons écrire:
Foo[] foos = ...
for (Foo foo : foos)
ou simplement en utilisant un Iterable dans la boucle for. Ceci est très pratique.
Cependant, vous ne pouvez pas écrire une méthode générique pour itérable comme ceci:
public void bar(Iterable<Foo> foos) { .. }
et l'appelant avec un tableau car ce n'est pas un Iterable:
Foo[] foos = { .. };
bar(foos); // compile time error
Je me demande les raisons de cette décision de conception.
java.lang.reflect.Array, mais ses performances sont faibles. Cependant, vous pouvez écrire vos propres itérateurs (ou implémentations List!) Pour encapsuler des tableaux de types primitifs si vous le souhaitez.