仿制药?extends T>不能应用于Java中的T
我有一个特定异常的异常处理程序列表,我正试图通过一个映射来定义这些异常,稍后我可以访问这些映射来调用它们。然而,事实并非如此。apply(e)正在抱怨
'apply(capture<? extends java.lang.Exception>)' in 'java.util.function.Function' cannot be applied to '(java.lang.Exception)'
private Response handleException(Exception e) {
return HANDLERS.get(e.getClass()).apply(e);
}
Map<Class<? extends Exception>, Function<? extends Exception, Response>> HANDLERS =
Map.ofEntries(
Map.entry(SpecificException.class, (Function<SpecificException, Response>) e -> ...),
Map.entry(Exception.class, (Function<Exception, Response>) e -> ...)
);
我相信这是一个重复的问题,但找不到任何与解决这个问题有关的东西。有没有解决这个特定错误的方法,或者有没有其他方法
共 (0) 个答案