क्या कोई कृपया बता सकता है कि ArrayList<?>
, ArrayList
और ArrayList<Object>
के बीच का अंतर क्या है, और प्रत्येक का उपयोग कब किया जाए? क्या वे सभी समान हैं या क्या कार्यान्वयन स्तर पर प्रत्येक का कुछ अलग अर्थ है?ArrayList <?>, ArrayList, ArrayList <Object> के बीच क्या अंतर है?
उत्तर
ArrayList<Object>
विशेष रूप से जबकि ArrayList<?>
Object
रों की एक सूची एक सूची जिसका ठोस प्रकार हम अनिश्चित हैं (है जिसका अर्थ है कि हम null
को छोड़कर सूची में कुछ भी नहीं जोड़ सकते हैं)। आप बाद वाले का उपयोग करेंगे जब सूची का प्रकार अप्रासंगिक है, उदा। जब आप जिस ऑपरेशन को करना चाहते हैं वह सूची के प्रकार पर निर्भर नहीं होता है। उदाहरण के लिए:
public static boolean isBigEnough(ArrayList<?> list) {
return list.size() > 42;
}
यह सब generics tutorial (wildcards अनुभाग देखें) में शामिल है।
अंत में, ArrayList
कोई प्रकार पैरामीटर के साथ raw type है: एकमात्र कारण यह भी अनुमति दी गई है 5 के तहत जावा संस्करणों के साथ पीछे की ओर संगतता के लिए है, और आप इसे का उपयोग जब भी संभव से बचना चाहिए।
स्वीकार नहीं करती है यह एक नया परिप्रेक्ष्य है :) –
बहुत अच्छा। मैं कुछ टेस्ट प्रोजेक्ट्स में ऐरेलिस्ट का उपयोग कर रहा था (जैसा कि मैंने इसे कुछ ट्यूटोरियल्स में इस्तेमाल किया था।) टेकवे है, हमेशा
ArrayList<?>
मतलब है
ArrayList
"एक प्रकार निर्धारित किया जाना है जो युक्त एक ArrayList
उदाहरण" एक ArrayList
एक ArrayList<Object>
का वर्ग है Object
प्रकार युक्त ArrayList
का एक उदाहरण है।
यह लगता है कि यह इस पर एक अच्छा लेख हो (और अधिक) हो सकते हैं: http://docs.oracle.com/javase/tutorial/java/generics/types.html
मुझे लगता है कि ओपी पूछ रहा है कि चूंकि जावा में सब कुछ ऑब्जेक्ट से फैला हुआ है, इसका मतलब यह है कि "एक प्रकार जिसे निर्धारित किया जाना है"? चूंकि सूची प्राइमेटिव्स – Victor
- 1. "ArrayList <A>" और "ArrayList <? extends A>" के बीच व्यावहारिक अंतर क्या है?
- 2. शुरूआत ArrayList <ArrayList <Int>> कोटलिन
- 3. ArrayList <Integer[]>
- 4. ArrayList <URLConnection>
- 5. ArrayList <String> CharSequence []
- 6. ArrayList सूची <object>
- 7. जावा ArrayList <String>
- 8. <t> सूची के लिए Arraylist?
- 9. मैं एक ArrayList <ArrayList <String>> को कैसे क्रमबद्ध कर सकता हूं?
- 10. ArrayList <E> की उपयोगिता .clear()?
- 11. ArrayList <NameValuePair> नाम से मूल्य
- 12. का उपयोग जावा ArrayList <String>
- 13. mockito ArrayList <String> समस्या
- 14. नई ArrayList <int>() जावा
- 15. Convert बाइट [] ArrayList को <Object>
- 16. सूची <NameValuePair> या ArrayList <NameValuePair>
- 17. सूची <String> ArrayList <String> रूपांतरण समस्या
- 18. ओओपी: ArrayList al = new ArrayList() और सूची अल = नया ArrayList() के बीच अंतर?
- 19. ArrayList
- 20. ArrayList
- 21. ArrayList
- 22. ArrayList
- 23. ArrayList
- 24. ArrayList
- 25. ArrayList
- 26. ArrayList
- 27. सरणी से ArrayList (ArrayList <Integer>) बनाने के लिए कैसे (int []) जावा
- 28. हाइबरनेट -> ArrayList को
- 29. जांचें कि स्ट्रिंग में स्ट्रिंग [] है ArrayList <string>
- 30. स्ट्रिंग के लिए कास्टिंग ArrayList <String> []
'जावा जेनरिक' – anubhava
के बारे में पढ़ने का समय मैं आमतौर पर कोई पैरामीटर नहीं डालता ... इसके "नकली" जेनेरिक वैसे भी। – texasbruce
@texasbruce यह वास्तव में एक बुरा विचार है। – arshajii