本文介绍了使用泛型进行多重绑定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试创建 Multibinder< A<?扩展B>>
。我尝试使用 Multibinder.newSetBinder(binder(),A.class)
。第二个参数是 Class< T>
所以在我的guice模块中执行此操作会给我一个类型不匹配错误。
I am trying to create a Multibinder<A<? extends B>>
. I have tried using Multibinder.newSetBinder(binder(), A.class)
. The second parameter is a Class<T>
so doing this in my guice module gives me a Type mismatch error.
Multibinder< A<?扩展B>> multibinder = Multibinder.newSetBinder(binder(),A.class)
是否可以绑定这些通用集合?也许我可以使用另一种 Multibinder
?有没有人有任何想法?
Is it possible to bind these kind of generic collections? Maybe I could use a different kind of Multibinder
? Does anyone have any ideas?
推荐答案
有一个版本需要 TypeLiteral
final Multibinder<List<? extends Number>> multibinder =
Multibinder.newSetBinder(binder(), new TypeLiteral<List<? extends Number>>() {})
这篇关于使用泛型进行多重绑定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!