Generics 通用Guice模块

Generics 通用Guice模块,generics,guice,Generics,Guice,在Guice 3中,我尝试创建一个通用模块: public class CSVModule<K> extends AbstractModule implements Serializable { public List<Range<K>> searchRange = new LinkedList<Range<K>>(); @Override protected void configure() { bind(new T

在Guice 3中,我尝试创建一个通用模块:

public class CSVModule<K> extends AbstractModule implements Serializable {
  public List<Range<K>> searchRange = new LinkedList<Range<K>>();

  @Override protected void configure() {
    bind(new TypeLiteral<List<Range<K>>>(){}).toInstance(searchRange);
  }
}
公共类CSVModule扩展AbstractModule实现可序列化{
public List searchRange=new LinkedList();
@覆盖受保护的void configure(){
bind(newtypeliteral(){}).toInstance(searchRange);
}
}
这将导致例外情况:

1) java.util.List<test.Range<K>> cannot be used as a key; It is not fully specified.
1)java.util.List不能用作键;它没有完全指定。
searchRange应该从“外部”配置:

module=new CSVModule();
module.searchRange.add(新范围(-5,5));
但是,我不仅有整数搜索范围,所以我希望避免为每种类型子类化CSV模块


如果有人能帮上忙,那就太棒了。

为什么不使用Guice MultiBinder?这看起来比在每个模块实例中使用列表更合适?请检查我对类似问题的回答:为什么不使用Guice MultiBinder?这看起来比在每个模块实例中使用列表更合适?请检查我对类似问题的回答:
module = new CSVModule<Integer>();
module.searchRange.add(new Range<Integer>(-5, 5));