在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);
}
}
这导致例外:
1) java.util.List<test.Range<K>> cannot be used as a key; It is not fully specified.
searchRange应该从“outside”配置:
module = new CSVModule<Integer>();
module.searchRange.add(new Range<Integer>(-5, 5));
但是,我不仅有整数搜索范围,所以我想避免为每种类型继承CSV模块。
如果有人可以提供帮助,那会很棒。