与泛型的多重绑定

时间:2013-01-25 10:19:45

标签: java guice

我正在尝试创建Multibinder<A<? extends B>>。我尝试过使用Multibinder.newSetBinder(binder(), A.class)。第二个参数是Class<T>所以在我的guice模块中这样做会给我一个类型不匹配错误。

Multibinder<A<? extends B>> multibinder = Multibinder.newSetBinder(binder(), A.class)

是否可以绑定这些通用集合?也许我可以使用另一种Multibinder?有没有人有任何想法?

1 个答案:

答案 0 :(得分:6)

有一个版本需要TypeLiteral

final Multibinder<List<? extends Number>> multibinder =
            Multibinder.newSetBinder(binder(), new TypeLiteral<List<? extends Number>>() {})