dengan Java5 kita dapat menulis:
Foo[] foos = ...
for (Foo foo : foos)
atau hanya menggunakan Iterable di for loop. Ini sangat berguna.
Namun Anda tidak dapat menulis metode generik untuk iterable seperti ini:
public void bar(Iterable<Foo> foos) { .. }
dan menyebutnya dengan array karena itu bukan Iterable:
Foo[] foos = { .. };
bar(foos); // compile time error
Saya bertanya-tanya tentang alasan di balik keputusan desain ini.
java.lang.reflect.Array
, tetapi kinerjanya lemah. Namun, Anda dapat menulis iterator Anda sendiri (atau implementasi Daftar!) Untuk membungkus array tipe primitif jika Anda mau.