2011-06-13 9 views
5
Map testMap = new HashMap(); 
for(Map.Entry<String, Object> entry:testMap.entrySet()){ 

} 

यह त्रुटि टिप है: "प्रकार बेमेल: तत्व प्रकार वस्तु से Map.Entry को परिवर्तित नहीं कर सकते"जावा 6 में foreach के बारे में क्या बात है?

तुम मुझे कारण बताओ चाहेंगे?

धन्यवाद

उत्तर

6

testMap, तो testMap.entrySet रिटर्न वस्तुओं सामान्य प्रकार की नहीं है।

आपको लगता है कि जैसे कि यह सही कर सकते हैं:

Map<String, Object> testMap = new HashMap<String, Object>(); 
for(Map.Entry<String, Object> entry:testMap.entrySet()){ 

} 
+0

आप भी अपने 'testMap' परिभाषित करना चाहिए करने के लिए' नक्शा <स्ट्रिंग, वस्तु> testMap' –

+0

बस '' 'नक्शा <स्ट्रिंग, वस्तु> testMap घोषित करने के लिए है = नया हैश मैप <>(); '' 'पर्याप्त है –

6

हो सकता है कि आप के रूप में

Map<String, Object> testMap = new HashMap<String, Object>(); 
2

आपका घोषणा testMap घोषित करना चाहिए

Map testMap = new HashMap(); 

का उल्लेख नहीं है कि testMap.entrySet() चाहिए <String, Object>

टाइप करें

समाधान

Map<String, Object> testMap = new HashMap<String, Object>(); 

Java6 के साथ कोई समस्या नहीं है।

0

समस्या आपके मानचित्र की घोषणा के साथ नहीं है, आपको raw types का उपयोग नहीं करना चाहिए।

Map testMap = new HashMap(); 

यह और अधिक की तरह

Map<Object,Object> testMap = new HashMap<Object,Object>(); 

है और आप Map.Entry<String, Object> को यह कास्ट करने के लिए कोशिश कर रहे हैं।

आप के लिए समाधान ठीक से वस्तु

Map<String,Object> testMap = new HashMap<String,Object>(); 
+0

बहुत बहुत धन्यवाद !! – jimmy

संबंधित मुद्दे