离线下载
PDF版 ePub版

引路蜂 · 更新于 2018-11-28 11:00:43

如何绑定 generic 类型

如果需要注入某个参数化类型,比如 List:

class Example {
 @Inject
 void setList(List<String> list) {
 ...
 }
}

可以使用 TypeLiteral 来创建这个绑定。TypeLiteral 为一特殊类型可以用于表示参数化类型。

@Override public void configure() {
bind(new TypeLiteral<List<String>>() {})
.toInstance(new ArrayList<String>());   }

或者使用 @Provides 方法:

```@Provides List providesListOfString() { return new ArrayList(); }



到目前为止,基本介绍了 Google Guice 的用法,上面用法也适用于 Java SE,Java EE 平台,更详细的可以参见 [英文文档](http://code.google.com/p/google-guice/wiki/Motivation) ,后面接着介绍和 Android 平台相关的 Dependency Injection (Roboguice) 的用法。 
上一篇: Scopes 下一篇: RoboGuice 功能描...