有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

仿制药?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) 个答案