Avatar ·

क्या List<Dog> List<Animal> का उपवर्ग है? Java में जेनेरिक्स पॉलीमॉर्फिक क्यों नहीं हैं?

नमस्ते साथियों! मैं Java में नया हूँ और जेनेरिक्स को समझने की कोशिश कर रहा हूँ। मैंने एक सरल कोड लिखा, लेकिन कंपाइलर त्रुटि दे रहा है, और मुझे समझ नहीं आ रहा क्यों। मेरे पास एक क्लास हायरार्की है: Animal — पैरेंट क्लास, Dog extends Animal और Cat extends Animal। अब मैं एक ऐसा मेथड लिखना चाहता हूँ जो जानवरों की लिस्ट ले और उनके नाम प्रिंट करे। तार्किक रूप से, अगर मैं इसमें कुत्तों की लिस्ट पास करूँ, तो सब काम करना चाहिए, क्योंकि Dog एक Animal है। लेकिन कंपाइलर त्रुटि दे रहा है! यहाँ कोड है: ```java public class GenericsTest { public static void main(String[] args) { List dogs = new ArrayList<>(); dogs.add(new Dog("Rex")); dogs.add(new Dog("Buddy")); printAnimalNames(dogs); // कंपाइलेशन त्रुटि! } public static void printAnimalNames(List