उदा। नीचे दिया गया कोड क्लासकास्ट अपवाद को फेंकता है जब दूसरा ऑब्जेक्ट ट्रीसेट में जोड़ा जाता है। क्या TreeSet लिखा नहीं जा सका ताकि टाइप पैरामीटर केवल एक तुलनात्मक प्रकार हो? i.e. ट्रीसेट संकलित नहीं होगा क्योंकि ऑब्जेक्ट तुलनात्मक नहीं है। इस तरह जेनेरिक वास्तव में अपना काम करते हैं - टाइपएफ़ होने के नाते।जावा के ट्रीसेट क्यों निर्दिष्ट नहीं करते हैं कि इसके प्रकार पैरामीटर को तुलनात्मक रूप से विस्तारित किया जाना चाहिए?
import java.util.TreeSet;
public class TreeSetTest {
public static void main(String [] args) {
TreeSet<Object> t = new TreeSet<Object>();
t.add(new Object());
t.add(new Object());
}
}
व्यापक उत्तर के लिए धन्यवाद। लॉल, मुझे लगता है कि जेनेरिक सिस्टम पहले से ही जटिल है! – Tarski