Làm thế nào để làm điều này trong Java - chuyển một bộ sưu tập kiểu con tới một phương thức yêu cầu một tập hợp kiểu cơ sở?Generics Java - chuyển một tập hợp các kiểu con tới một phương thức đòi hỏi một bộ sưu tập kiểu cơ sở
Ví dụ dưới đây cho phép:
The method foo(Map<String,List>) is not applicable for the arguments (Map<String,MyList>)
tôi có thể thực hiện bằng cách tạo ra một hệ thống phân cấp lớp cho các bộ sưu tập đánh máy - nhưng là nó có thể khác?
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) {
}
EDIT: Hóa ra từ các câu trả lời rằng điều này đòi hỏi "kí hiệu wildcard bao" để thêm văn bản này cho khả năng tìm kiếm
cảm ơn! đó là giải pháp chính xác :-) – horace