2012-04-26 11 views
28

<टी वस्तु और ई फैली>java.util.Collections.max के हस्ताक्षर इस तरह दिखता है:बनाम <T extends E>

सार्वजनिक स्थिर < टी वस्तु & तुलनीय < फैली? सुपर टी >> टी अधिकतम (संग्रह संग्रह);

मैं क्या समझ से, यह मूल रूप से इसका मतलब है कि टी दोनों एक java.lang.Object और एक java.lang.Comparable<? super T>>,

होना चाहिए हालांकि, बाद से हर java.lang.Comparable भी एक java.lang.Object है, ऊपर हस्ताक्षर और यह नीचे के बीच अंतर क्या है ? :

सार्वजनिक स्थिर < टी तुलनात्मक < फैलाता है? सुपर टी >> टी अधिकतम (संग्रह संग्रह);

उत्तर

28

दोहरी संगतता संरक्षित करने के लिए: यह पूरी तरह से here वर्णित है। दूसरा हस्ताक्षर वास्तव में विधि के रिटर्न प्रकार को Comparable में बदल देता है और यह Object लौटने की सामान्यता खो देता है। मूल हस्ताक्षर दोनों को संरक्षित करता है।

+0

लिंक के लिए धन्यवाद =) बीटीडब्ल्यू संकलन के बाद मिटाए गए हस्ताक्षरों की जांच करने के लिए आप किसी भी उपकरण से अवगत हैं? – Pacerier

+0

मुझे पता नहीं है, लेकिन शायद [यह] (http://blog.xebia.com/2009/03/12/a- सामान्य-purpose-utility-to-retrieve-java-generic-type-values/) विषय पर कुछ सुराग दे सकते हैं। मैं एंजेलिका लैंगर जेनरिक एफएक्यू में "टाइप एरर" पर सेक्शन को पढ़ने का भी सुझाव देता हूं। – nobeh

+0

ठीक मदद के लिए धन्यवाद =) – Pacerier

संबंधित मुद्दे