2012-06-17 9 views
21

में असफल मैं निम्नलिखित कोड है:नई ArrayList <int>() जावा

List<int> intList = new ArrayList<int>(); 
for (int index = 0; index < ints.length; index++) 
{ 
    intList.add(ints[index]); 
} 

यह मुझे एक त्रुटि देता है ...

Syntax error on token "int", Dimensions expected after this token 

लाइन List साथ शुरू करने पर त्रुटि होती है। क्या कोई समझा सकता है कि मुझे त्रुटि क्यों मिल रही है?

उत्तर

41

जेनेरिक्स not applicableको आदिम प्रकारintList.get(index) और intList.set(index,value) उपयोग कर रहा है मानों का उपयोग करने की जरूरत है int। आप शायद Integer में के रूप में the wrapper types उपयोग करना चाहिए:

List<Integer> ints = ... 

और, एक List तक पहुँचने के लिए, आप ints.get(index)

4

आपको int के बजाय इंटीजर का उपयोग करना चाहिए क्योंकि सूचियों को ऑब्जेक्ट को आदिम प्रकार की आवश्यकता नहीं है। लेकिन आप अभी भी अपनी इंटीजर सूची

9

पर टाइप प्रकार int का तत्व जोड़ सकते हैं आप <> अनुभाग के भीतर केवल ऑब्जेक्ट प्रकार का उपयोग कर सकते हैं, जबकि आप एक आदिम प्रकार का उपयोग करने का प्रयास कर रहे हैं। इस प्रयास करें ...

List<Integer> intList = new ArrayList<Integer>(); 

तो आप के रूप में जावा में (के रूप में आप क्या करने की कोशिश कर रहे हैं और यह भी intList.add(value))

1

उपयोग करने के लिए आप Eclipse Collections में आदिम उपलब्ध संग्रह का उपयोग कर सकते हैं की जरूरत है। ग्रहण संग्रह में सभी प्राइमेटिव्स के लिए List, Set, Bag और Map है। आदिम संग्रह में तत्व प्राइमेटिव के रूप में बनाए रखा जाता है और कोई मुक्केबाजी नहीं होती है।

आप एक IntList इस तरह प्रारंभ कर सकते हैं:

MutableIntList intList = IntLists.mutable.empty(); 

नोट: मैं संग्रह ग्रहण के लिए एक योगदानकर्ता है।