【发布时间】:2010-04-06 08:36:15
【问题描述】:
是否可以将嵌套的泛型/捕获绑定在一起?
我经常遇到将类的映射查找到所述类的通用项的问题。具体来说,我想要这样的东西(不,T 没有在任何地方声明)。
private Map<Class<T>, ServiceLoader<T>> loaders = Maps.newHashMap();
简而言之,我希望 loaders.put/get 具有类似以下的语义:
<T> ServiceLoader<T> get(Class<T> klass) {...}
<T> void put(Class<T> klass, ServiceLoader<T> loader) {...}
以下是我能做到的最好的吗?我必须忍受不可避免的@SuppressWarnings("unchecked")吗?
private Map<Class<?>, ServiceLoader<?>> loaders = Maps.newHashMap();
【问题讨论】:
-
你试过了吗?结果如何? (我自己之前没有尝试过这样的事情,但我很想知道它是否开箱即用?)
-
很遗憾,它不起作用。我想知道是否有人想出了解决这个问题的方法。目前我正在使用双重捕获和@SuppressWarning。