我认为不可能在类型中对此进行编码,我会使用自定义类来实现
class ClassMap<T> { private Map<Class<? extends T>, List<? extends T>> backingMap = new HashMap<>(); public <E extends T> void put(Class<E> cls, List<E> value) { backingMap.put(cls, value); } @SuppressWarnings("unchecked") public <E extends T> List<E> get(Class<E> cls) { return (List<E>)backingMap.get(cls); }}只要您不将
backingMap参考泄漏到此类之外,就可以在此处禁止显示警告。



