Map<?, ?>
जावा में क्या मतलब है?
मैं ऑनलाइन देखा है, लेकिन उस पर किसी भी लेख को खोजने के लिए प्रतीत नहीं कर सकते हैं।जावा में मानचित्र <?, ?> का अर्थ क्या है?
संपादित करें: मैं MP3 Duration Java
Map<?, ?>
जावा में क्या मतलब है?
मैं ऑनलाइन देखा है, लेकिन उस पर किसी भी लेख को खोजने के लिए प्रतीत नहीं कर सकते हैं।जावा में मानचित्र <?, ?> का अर्थ क्या है?
संपादित करें: मैं MP3 Duration Java
?
में एक प्लेसहोल्डर जिसका मान आप (एक वाइल्डकार्ड) में कोई दिलचस्पी नहीं कर रहे हैं इंगित करता है:
HashMap<?, ?> foo = new HashMap<Integer, String>();
और चूंकि ?
एक वाइल्डकार्ड है, तो आप इसे छोड़ सकते हैं और अभी भी एक ही परिणाम प्राप्त करें:
HashMap foo = new HashMap<Integer, String>();
लेकिन वे तैयार करें या जेनरिक सबसेट तक इस्तेमाल किया जा सकता प्रयोग की जाने वाली। इस उदाहरण में, पहले जेनेरिक को Serializable इंटरफेस को लागू करना होगा।
// would fail because HttpServletRequest does not implement Serializable
HashMap<? extends Serializable, ?> foo = new HashMap<HttpServletRequest, String>();
लेकिन इन वाइल्डकार्ड की बजाय कंक्रीट कक्षाओं का उपयोग करना हमेशा बेहतर होता है। आप केवल ?
का उपयोग करना चाहिए यदि आप जानते हैं कि आपके _collection_ में के रूप में :)
कच्चा प्रकार वाइल्डकार्ड के समान परिणाम नहीं है! बिल्कुल नहीं! – Affe
ओह सच में? मुझे यह नहीं पता था। ये पहले दो मामले एक-दूसरे से अलग कैसे होते हैं? – mana
वाइल्ड कार्ड का अर्थ है 'यह एक मानचित्र है जिसमें इसमें कुछ विशिष्ट प्रकार की बाधा वाली चीज है, लेकिन मुझे नहीं पता कि यह क्या है।' कच्चा प्रकार सिर्फ कच्चा प्रकार है, इसके बारे में कुछ भी नहीं पता है, कोई बाधा नहीं है, वहां कुछ भी हो सकता है। कंपाइलर आपको मानचित्र ,?> पर चीजों को जोड़ने नहीं देगा, लेकिन आप कच्चे मानचित्र में जो कुछ भी चाहते हैं उसे डाल सकते हैं। – Affe
Map<?,?>
पर इस पाया मतलब है संकलन समय पर, यदि आप नहीं जानते कि क्या मानचित्र की कुंजी और मान वस्तु के वर्ग प्रकार होने जा रहा है।
इसका एक वाइल्डकार्ड प्रकार। http://download.oracle.com/javase/tutorial/extra/generics/wildcards.html
में मानचित्र को देखूंगा क्षमा करें, मैं जेनेरिक पर अच्छा नहीं हूं लेकिन 'मानचित्र ,?>' और 'मानचित्र
'कक्षा नाम
मैं इस लेख में पाया गया कि explains wildcard parametrization of generics
लिंक – powerMicha
लिंक के लिए +1 एंजेलिका का दस्तावेज वह है जहां जेनेरिक काम करने की कोशिश करते समय हर कोई समाप्त होता है। – SteveD
Java5 के बाद से, जेनेरिक्स भाषा के साथ प्रदान की जाती हैं। http://download.oracle.com/javase/tutorial/java/generics/index.html
नोटेशन का अर्थ है कि आप जिस मानचित्र को बना रहे हैं, वह वर्ग ए की एक वस्तु को एक कुंजी के रूप में स्वीकार करेगा और कक्षा बी के ऑब्जेक्ट को मान के रूप में स्वीकार करेगा।
यह एक डेवलपर के रूप में आप में मदद करता है ताकि आप अब और सही वर्ग के लिए एक वस्तु डाली अभ्यस्त। तो अगर आप एक के अलावा अन्य कुंजी और बी के अलावा अन्य objets बदसूरत डाले बचना और समय की कमी
Map<?,?>
आपको बताता है कि आप key
और अपने नक्शे में value
के लिए हर वस्तु का उपयोग कर सकते संकलन प्रदान करने के साथ मानचित्र का उपयोग करने सकेंगे। ,
Map<String, YourCustomObject> map
इस नक्शे में
तो तुम केवल put
एक String
कुंजी के रूप में और YourCustomObject
मूल्य के रूप में कर सकते हैं:
लेकिन आमतौर पर ऐसा जेनरिक उपयोग करने के लिए अधिक उपयोगी है।
जेनरिक पर इस tutorial देखें।
? जेनेरिक में वाइल्डकार्ड है। सूर्य ... er ... ओरेकल जेनरिक here पर एक अच्छा ट्यूटोरियल है। वाइल्डकार्ड पर एक अलग अनुभाग है।
आप शायद एक बेहतर जवाब है, तो आप इस तरह के जहां Map<?, ?>
देखा के रूप में अपने प्रश्न का अधिक संदर्भ, पोस्ट प्राप्त होगी।
'Map' कर रहे हो? या ', ?>' भाग, जैसा कि _generics_ में है? आप जावाडोक को देखा है? – c00kiemon5ter
ठीक है, मैं निश्चित रूप से जेनेरिक और वाइल्डकार्ड के बारे में बात कर रहा हूं। '<' भाग प्रश्न में छिपा हुआ था; एचटीएमएल के रूप में व्याख्या की। मैंने सवाल संपादित किया। – c00kiemon5ter
@ C00k - आप प्रश्न को फिर से संपादित करना चाहते हैं, ', ?>' दिखाई नहीं दे रहा है। – Paul