java - Is there a need to use bounded wildcard generics in a passthrough method? -
मुझे पता है कि हम हालांकि, क्या मेरी बाध्यता वाली वाइल्डकार्ड मेरी निम्नलिखित विधि में आवश्यक हैं? यह तो, क्या कोई भी लाभ (या यह भी गलत है?) मेरे तरीके को निम्नलिखित के रूप में लिखना है? पारगमन पारित पैरामीटर को सार्वभौमिक दाता बनाता है - अर्थात् इसे स्वतंत्रता से पढ़ा जा सकता है। आपको पास संग्रह से ऑब्जेक्ट पढ़ने की आवश्यकता नहीं है किसी वाइल्डकार्ड की आवश्यकता नहीं है। संयोग से एक स्पष्ट परिचय के लिए देखें। इसके अलावा एक अच्छा जवाब इस कवर। / div> संग्रह & lt; E & gt; :
सार्वजनिक शून्य जोड़ें सभी (संग्रह & lt ;? ई & gt; उपसंरक्षण फैलता है);
संग्रह & lt ;? का उपयोग करते हैं सुपर ई और gt; वहां संग्रह को अनुमति देने के लिए जहां उप-तत्वों का केवल अस्तित्व है, उदाहरण:
सूची & lt; drivable & gt; ड्रावबल्स = नए अर्रेलिस्ट & lt; & gt; (); सूची के & lt; कार & gt; कारें = नए अर्रेलिस्ट & lt; & gt; (); // हमें यहां वाइल्डकार्ड की आवश्यकता है, क्योंकि निम्न पंक्ति: drivables.addAll (कार);
सार्वजनिक स्थिर & lt; E & gt; संग्रह के & lt; ई & gt; needNonEmpty (अंतिम संग्रह & lt; E & gt; संग्रह) NoSuchElementException फेंकता है {if (collection.isEmpty ()) {नया NoSuchElementException ("संग्रह खाली होना चाहिए"); } वापसी संग्रह; }
Objects.requireNonNull (T ऑब्जेक्ट) जैसा एक समान idiom का उपयोग करता है, जो वास्तव में
T ऑब्जेक्ट देता है ।
सार्वजनिक स्थिर & lt; E & gt; संग्रह के लिए & lt ;? सुपर ई & gt; needNonEmpty (अंतिम संग्रह & lt ;? ई और संग्रह; फैली हुई है);
संग्रह का उपयोग & lt ;? ई & gt; फैली
संग्रह का उपयोग कर & lt ;? सुपर ई & gt;
Comments
Post a Comment