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
, लेकिन इसका प्रदर्शन कमजोर है। हालाँकि, यदि आप चाहें तो आदिम प्रकार के सरणियों को लपेटने के लिए आप अपने स्वयं के पुनरावृत्तियों (या सूची कार्यान्वयन!) को लिख सकते हैं।