জাভা 5 এর সাথে আমরা লিখতে পারি:
Foo[] foos = ...
for (Foo foo : foos)
বা লুপের জন্য কেবল একটি Iteable ব্যবহার করে। এটি খুব সহজ।
তবে আপনি এর মতো পুনরাবৃত্তির জন্য জেনেরিক পদ্ধতি লিখতে পারবেন না:
public void bar(Iterable<Foo> foos) { .. }
এবং এটিকে অ্যারে দিয়ে কল করা যেহেতু এটি কোনও মূল্যবান নয়:
Foo[] foos = { .. };
bar(foos); // compile time error
আমি এই নকশার সিদ্ধান্তের পিছনে কারণগুলি নিয়ে ভাবছি।
java.lang.reflect.Array, তবে এর কার্যকারিতা দুর্বল। তবে আপনি চাইলে আদিম ধরণের অ্যারেগুলিকে গুটিয়ে রাখতে আপনার নিজের পুনরাবৃত্তকারী (বা তালিকা প্রয়োগকরণের তালিকা) লিখতে পারেন।