के बीच अंतर मैं नीचे दो कोड स्निपेट के बीच अंतर को समझ नहीं सकता। क्या कोई मुझे सरल स्पष्टीकरण के साथ मदद कर सकता है?जेनेरिक सुपर क्लास और सुपर क्लास प्रकार
सबसे पहले, मुझे यह कहना है कि मेरे पास बहुत से वर्ग हैं जो BaseEntity
नामक एक सुपर क्लास का विस्तार करते हैं, तो निम्नलिखित स्निपेट के अंतर, लाभ और कमी क्या हैं?
// 1
public <T extends BaseEntity> T getName(T t) {
return t;
}
// 2
public BaseEntity getName(BaseEntity t) {
return t;
}
यह सच नहीं है। पहले कोड स्निपेट में, इनपुट पैरामीटर का प्रकार 'बेसएन्टीटी' का वही सबक्लास होना चाहिए जो 'रिटर्न' मान के रूप में हो। यह किसी भी प्रकार का ऑब्जेक्ट नहीं हो सकता है।दूसरे स्निपेट में, 'वापसी' मान और इनपुट पैरामीटर' बेसएन्टीटी 'के उप-वर्ग भी हो सकते हैं। – Daniel