public abstract class Mother {
}
public class Daughter extends Mother {
}
public class Son extends Mother {
}
我需要一个Map
哪些键是一个Daughter
或多个Son
类,哪些值分别是这两个类之一的对象列表。
例如:
/* 1. */ map.put(Daughter.class, new ArrayList<Daughter>()); // should compile
/* 2. */ map.put(Son.class, new ArrayList<Son>()); // should compile
/* 3. */ map.put(Daughter.class, new ArrayList<Son>()); // should not compile
/* 4. */ map.put(Son.class, new ArrayList<Daughter>()); // should not compile
我试过Map<Class<T extends Mother>, List<T>>
了,但它没有编译。
Map<Class<? extends Mother>, List<? extends Mother>>
确实可以编译,但是案例3.
和4.
编译也应该不应该。
甚至可能吗?