Java5 के साथ हम लिख सकते हैं:
Foo[] foos = ...
for (Foo foo : foos)
या सिर्फ लूप के लिए Iterable का उपयोग करना। यह बहुत आसान है।
हालाँकि आप इस तरह से चलने के लिए एक सामान्य विधि नहीं लिख सकते हैं:
public void bar(Iterable<Foo> foos) { .. }
और एक सरणी के साथ इसे कॉल करना क्योंकि यह एक Iterable नहीं है:
Foo[] foos = { .. };
bar(foos); // compile time error
मैं इस डिजाइन निर्णय के पीछे के कारणों के बारे में सोच रहा हूं।
java.lang.reflect.Array, लेकिन इसका प्रदर्शन कमजोर है। हालाँकि, यदि आप चाहें तो आदिम प्रकार के सरणियों को लपेटने के लिए आप अपने स्वयं के पुनरावृत्तियों (या सूची कार्यान्वयन!) को लिख सकते हैं।