Я пытаюсь добавить исключение в карту, содержащую строку в качестве ключа и список исключений в качестве значений... как показано ниже. Чего я пытаюсь добиться, так это создать общий метод, который может принимать карту с ключом в виде строки и список, который может содержать исключение любого типа, если ключ того же типа, добавьте исключение в этот конкретный список.
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, как показано выше...
Я не могу добавить эти два разных исключения в общий метод util, я не знаю, где я ошибаюсь... Любая помощь приветствуется




Здесь не следует использовать подстановочные знаки. Используйте подстановочные знаки, только если вам не важен точный тип. Но здесь вы заботитесь о точном типе списка исключений. А именно, эти два ??? должны быть совместимы друг с другом:
void addToExceptionMap(Map<String, List<???>> exceptionMap, String errorLevel, ??? exception)
Последний параметр не может быть любым Exception, а тип списка не может быть любым Exception. Вы не можете добавить NullPointerException в список IndexOutOfRangeExceptions, не так ли? Эти два типа связаны.
Вы должны использовать общий здесь:
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);
}