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.