原创

如何解决Java中泛型类方法中的参数化类型错误? [关闭]

温馨提示:
本文最后更新于 2024年04月12日,已超过 37 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

我在涉及Java泛型类的方法中遇到参数化类型的问题。方法如下:

public HandlerResolver schedulerResolver(ApplicationContext context) {
    final HandlerRegistry registry = context.getBean("schedulerRegistry", HandlerRegistry.class);
    Map<String, RegisteredEventListener> eventListeners = registry.getEventListeners()
            .stream()
            .collect(Collectors.toMap(RegisteredEventListener::getPath, Function.identity()));
    return new HandlerResolver(null, eventListeners, null, null);
}

我希望该类紧密相连RegisteredEventListener通用以提高类型安全性。但是,当我尝试参数化它时,例如,Map<String, RegisteredEventListener<?>>我在参数中遇到错误,eventListeners指出:

Required type: Map<String, RegisteredEventListener>
Provided: ConcurrentHashMap<String, RegisteredEventListener<?>>

解决此问题并RegisteredEventListener在这种情况下正确参数化类的正确方法是什么?

正文到此结束
热门推荐
本文目录