दिलचस्प पोस्ट
पायथन 3: आयातईयर "सेटअप मॉड्यूल नामक कोई मॉड्यूल नहीं" एक डाटाफ्रेम स्ट्रिंग कॉलम को कई विभिन्न कॉलम में विभाजित करना जावास्क्रिप्ट निर्माता संपत्ति का महत्व क्या है? एंड्रॉइड में DatePickerDialog पर सीमा निर्धारित करें? Document.domain = document.domain क्या करता है? एरे को ऑब्जेक्ट में कनवर्ट करें SSL में SSL का उपयोग करने के लिए आप WEBrick को कैसे कॉन्फ़िगर करते हैं? एल्गोरिथ्म का पता लगाने के लिए दो आयतों के प्रतिच्छेदन? ऑनक्लिक = "" बनाम ईवेंट हैंडलर JQuery के साथ उपयोग के लिए जेएस अर्रे () जेसन ऑब्जेक्ट को कन्वर्ट करें ऑपरेटर की विरासत के साथ समस्या = सी ++ में PHP में हेडॉक का उपयोग करने का क्या फायदा है? एंड्रॉइड पर INSTALL_FAILED_INSUFFICIENT_STORAGE त्रुटि का समाधान अजगर इंडेंटेशन को ठीक कैसे करें Qt में फॉर्म लेआउट तंत्र को समझना

प्रकार की सूची को प्रारंभ नहीं कर सकता <उत्पाद>

मेरे पास निम्न कोड है:

List<Product> product = new List<Product>(); 

त्रुटि:

 Cannot instantiate the type List<Product> 

Product मेरे ईजेबी परियोजना में एक इकाई है मुझे यह त्रुटि क्यों मिली?

वेब के समाधान से एकत्रित समाधान "प्रकार की सूची को प्रारंभ नहीं कर सकता <उत्पाद>"

List एक इंटरफ़ेस है इंटरफ़ेस को तत्काल नहीं किया जा सकता। केवल कंक्रीट प्रकारों को तत्काल किया जा सकता है। आप संभवत: किसी ArrayList का उपयोग करना चाहते हैं, जो कि List अंतरफलक का कार्यान्वयन है।

 List<Product> products = new ArrayList<Product>(); 

एक कंक्रीट सूची प्रकार का प्रयोग करें, जैसे कि सिर्फ List बजाय ArrayList

सूची एक इंटरफ़ेस है आपको अंत में एक विशिष्ट वर्ग की आवश्यकता है, या तो कोशिश करें

 List l = new ArrayList(); 

या

 List l = new LinkedList(); 

जो आपकी आवश्यकताओं के अनुरूप है

इंटरफ़ेस को कार्यान्वित करने वाले किसी भी क्लास द्वारा सूची को तत्काल बनाया जा सकता है। इस तरह से, जावा हमें बहुरूपृत व्यवहार प्रदान करता है। नीचे दिए गए उदाहरण देखें

सूची सूची = नया अर्रेलिस्ट ();

सरणी सूची को तत्काल रूप देने के बजाय, मैं एक सूची का उपयोग करने के लिए ArrayList ऑब्जेक्ट का उपयोग कर रहा हूं ताकि हम केवल सूची इंटरफ़ेस विधियों का उपयोग कर रहे हों और इसके वास्तविक क्रियान्वयन की परवाह न करें।

सूची लागू करने वाले वर्गों के उदाहरण हैं, अर्रेइलिस्ट, लिंक्डलिस्ट, वेक्टर। आप शायद अपनी आवश्यकताओं के आधार पर एक सूची बनाना चाहते हैं।

उदाहरण: – एक लिंक्डलिस्ट अधिक उपयोगी होता है, जब आप कई प्रविष्टि या हटाए जाने के लिए हावी हो जाते हैं .अरेरेलिस्ट अधिक कार्यक्षमता गहन है क्योंकि यह किसी निश्चित आकार के अरैरे द्वारा समर्थित है और सरणी सामग्री को बदलकर या सरणी को बदलने से बदला जाना चाहिए।

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

मान लीजिए हम ArrayList<String> value = new ArrayList<String>(); का प्रयोग कर रहे हैं ArrayList<String> value = new ArrayList<String>();

हम एक विशिष्ट विधि का उपयोग कर सकते हैं ArrrayList और बाहर कोड मजबूत नहीं होगा

List<String> value = new ArrayList<String>(); का उपयोग करके List<String> value = new ArrayList<String>();

हम यह सुनिश्चित कर रहे हैं कि हम केवल सूची इंटरफ़ेस विधियों का उपयोग कर रहे हैं..और यदि हम इसे किसी लिंक्डलिस्ट में बदलना चाहते हैं तो हमें बस कोड को बदलना होगा: –

सूची मूल्य = नया अर्रेइस्ट ();

—— आपका कोड सूची इंटरफ़ेस विधियों का उपयोग करता है …..

मान = नया लिंक्डलिस्ट ();

—– आपका कोड अभी भी सूची इंटरफ़ेस विधियों का उपयोग करता है और हमें कुछ भी बदलना नहीं है— और हमें हमारे कोड में कुछ भी बदलना नहीं है

जिस तरह से एक LinkedList भी एक deque काम करता है जो स्पष्ट रूप से भी आप इन्स्तांत नहीं कर सकते क्योंकि यह एक इंटरफ़ेस भी है

इंटरफेस सीधे इन्टरिअएट नहीं किए जा सकते हैं, आपको ऐसी इंटरफेस लागू करने वाली कक्षाओं को इन्स्तांत करना चाहिए

इसे इस्तेमाल करे:

 NameValuePair[] params = new BasicNameValuePair[] { new BasicNameValuePair("param1", param1), new BasicNameValuePair("param2", param2), };