我正在尝试创建一个 Multibinder<A<? extends B>> 。我试过使用 Multibinder.newSetBinder(binder(), A.class) 。第二个参数是一个 Class<T> 所以在我的 guice 模块中这样做会给我一个类型不匹配错误。
Multibinder<A<? extends B>> multibinder = Multibinder.newSetBinder(binder(), A.class)
是否可以绑定(bind)这些类型的通用集合?也许我可以使用不同类型的 Multibinder ?有没有人有任何想法?

最佳答案

有一个版本需要一个 TypeLiteral

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

关于java - 使用泛型进行多重绑定(bind),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14519722/

10-11 02:17