Java 将子类型添加到泛型列表

Java 将子类型添加到泛型列表,java,generics,exception,stream,sax,Java,Generics,Exception,Stream,Sax,我试图将异常添加到一个映射中,该映射包含字符串作为键和异常列表作为值,如下所示。 我试图实现的是创建一个通用方法,该方法可以接受一个键为字符串的映射和一个可以包含任何类型异常的列表,如果该键属于同一类型,则将异常添加到该特定列表中 public static void addToMap(Map<String,List<? extends Exception>> exceptionMap,String nodeKey ,Exception exception){ excep

我试图将异常添加到一个映射中,该映射包含字符串作为键和异常列表作为值,如下所示。 我试图实现的是创建一个通用方法,该方法可以接受一个键为字符串的映射和一个可以包含任何类型异常的列表,如果该键属于同一类型,则将异常添加到该特定列表中

public static void addToMap(Map<String,List<? extends Exception>> exceptionMap,String nodeKey ,Exception exception){
exceptionMap.computeIfAbsent(nodeKey ,K->new LinkedList<Exception>).add(exception);
注意:我可以将异常分别添加到两个不同的util方法中…但是我希望它更通用,一个单一的util方法,如上图所示


我无法将这两个不同的例外添加到generic util方法中,我不知道哪里出错了…非常感谢您的帮助

您不应该在这里使用通配符。仅当不关心确切类型时才使用通配符。但在这里,您确实关心异常列表的确切类型。就是这两个???必须相互兼容:

void addToExceptionMap(Map<String, List<???>> exceptionMap, String errorLevel, ??? exception)

谢谢@Sweeper…这很有帮助
public static <T extends Exception> void addToExceptionMap(Map<String, List<T>> exceptionMap, String errorLevel, T exception){
    exceptionMap.computeIfAbsent(errorLevel,K->new LinkedList<T>()).add(exception);
}