के संग्रह की आवश्यकता वाले किसी विधि के लिए उप प्रकार के संग्रह को पास करने के लिए जावा में यह कैसे करें - किसी प्रकार के उप-प्रकार का संग्रह पास करने के लिए बेस प्रकार का संग्रह आवश्यक है?जावा जेनरिक - बेस टाइप
उदाहरण नीचे देता है:
The method foo(Map<String,List>) is not applicable for the arguments (Map<String,MyList>)
मैं टाइप किया संग्रह के लिए एक वर्ग पदानुक्रम बनाने के द्वारा लागू कर सकते हैं - लेकिन यह अन्यथा संभव है?
public void testStackOverflow() {
class MyList extends AbstractList {
public Object get(int index) {
return null;
}
public int size() {
return 0;
}
};
Map <String, List> baseColl = null;
Map <String, MyList> subColl = null;
foo (subColl);
}
private void foo (Map <String, List> in) {
}
संपादित करें: जवाब से बाहर कर देता है कि इस की आवश्यकता है "घिरे वाइल्डकार्ड" इतना करने के लिए बदलें foo
खोज योग्यता
धन्यवाद! यह समाधान बिल्कुल है :-) – horace