मैं here कि एक विधि वापसी प्रकार में एक घिरे वाइल्डकार्ड होने एक बुरा विचार है सहित कई स्थानों में पढ़ा है। हालांकि, मुझे अपनी कक्षा से बचने का कोई रास्ता नहीं मिल रहा है। क्या मैं कुछ भूल रहा हूँ? करने के लिए किसी भी प्रकाशन अंग्रेजी के लिए किसी भिन्न रूप में है कि उपभोगजावा वापसी प्रकार में घिरे वाइल्डकार्ड
class EnglishReaderOfPublications {
private final Publication<? extends English> publication;
EnglishReaderOfPublications(Publication<? extends English> publication) {
this.publication = publication;
}
void readPublication() {
publication.omNomNom();
}
Publication<? extends English> getPublication() {
return publication;
}
}
सारांश में, एक वर्ग है कि मैं सक्षम होना चाहते हैं:
स्थिति कुछ इस तरह लग रहा है। कक्षा को प्रकाशन से बाहर पहुंच की अनुमति देने की आवश्यकता है, लेकिन आदर्श रूप से, getPublication
के कॉलर परिणाम को बाध्य वाइल्डकार्ड के रूप में नहीं चाहते हैं। वे Publication<English>
से खुश होंगे।
क्या इस दौर में कोई रास्ता है?
आइटम यहोशू बलोच की "प्रभावी जावा" में 28 की सिफारिश की: "वापसी प्रकार के रूप में वाइल्डकार्ड प्रकार का प्रयोग न करें।" –