क्या 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