我看过这个post关于注册泛型类型。
如何注册的示例:
bind(new TypeLiteral<Dal<RoutingResponse>>() {}).to((Class<? extends Dal<RoutingResponse>>) ResponseDal.class);
但是如何从注入(inject)器获取泛型类型的实例?
我已经尝试过:
injector.getInstance(Dal<RoutingResponse>().getClass());
但出现编译错误。
这个应该怎么写?
最佳答案
您可以使用Key获取这些绑定(bind)的实例:
injector.getInstance(new Key<Dal<RoutingResponse>>() {}); // supplied by @DanielPryden in the comments
或者更长的版本,带有 TypeLiteral :
injector.getInstance(Key.get(new TypeLiteral<Dal<RoutingResponse>>() {}));
关于java - 泛型类型的injector.getInstance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28551289/