我对 Java 泛型有疑问,我不确定它是否可能是我想要得到的。基本上标题说明了一切,但让我举个例子。目前我有这样的事情:
private static Map<Class<? extends Exception>, ExceptionTranslator<?>> MAP;
正在以下列方式使用:
MAP.put(SomeException.class, new ExceptionTranslator<SomeException>());
但我想强制执行作为键传递的异常类型的翻译器,类似于您在方法上所做的事情:
<T extends Exception> Map<Class<T>, ExceptionTranslator<T>> MAP;
这当然不是正确的代码,我猜我的 generics-foo 不够强大。在Java中甚至可能吗?