क्या ऐरे जेनेरिक आइटम रख सकते हैं?
जेनेरिक प्रकार और ऐरे जावा में अलग-अलग तरीके से इंटरैक्ट कर सकते हैं। निम्नलिखित कोड पर विचार करें:
ArrayList a = new ArrayList();
यह कोड सफलतापूर्वक संकलित होता है, जिससे a नामक एक सामान्य ArrayList बनता है। हालाँकि, निम्नलिखित कोड संकलित करने में विफल रहता है:
ArrayList[] a = new ArrayList[10];
ऐसा क्यों है? ऐसा प्रतीत होता है कि सरणियाँ और जेनरिक असंगत हैं। इसे समझने के लिए, आइए जावा में टाइप इरेज़र का पता लगाएं। कच्चे प्रकार (वस्तु)। यह स्ट्रिंग को पूर्णांकों की ArrayList में रखने जैसी त्रुटियों को रोकता है। हालाँकि, सरणियों के लिए एक कच्चे प्रकार की आवश्यकता होती है, और जेनेरिक को कच्चे प्रकार के रूप में प्रस्तुत नहीं किया जा सकता है। सरणी को वांछित प्रकार में डालें:
ArrayList
सूचियों की सूची: अपवाद
जावा में, सूचियों की एक सूची को एक सरणी नहीं माना जाता है . इसलिए, निम्नलिखित कोड टाइप कास्टिंग के बिना संकलित होता है:ArrayList[] a = (ArrayList[]) new ArrayList[10];
यह अंतर उत्पन्न होता है क्योंकि ArrayList एक गैर-सरणी प्रकार है।निष्कर्ष
सरणी और सामान्य प्रकारों की टाइप इरेज़र के कारण जावा में सीमाएँ हैं। हालाँकि, स्पष्ट रूप से वांछित सामान्य प्रकार में सरणियाँ कास्टिंग करके या सूचियों की सूचियों का उपयोग करके, कोई इन सीमाओं को नेविगेट कर सकता है और दोनों संदर्भों में सामान्य प्रकारों का प्रभावी ढंग से उपयोग कर सकता है।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3