【发布时间】:2012-08-14 18:25:34
【问题描述】:
我有一个带有两个类型参数的泛型类:
public class MyGenericClass<T, S> {
private List<T> myList;
private List<S> mySecondList;
//...
public void addToFirstList(T e) {
myList.add(e);
}
//...
}
我希望能够在工厂内创建类的实例时为这两个参数指定具体类型,然后能够从我的其余代码中派生这些类型。
例如,如果我有代码:
public class AccessFactory {
public static MyGenericClass<Integer, Float> getInst() {
return new MyGenericClass<Integer, Float>();;
}
}
public class UsingFactoryClass {
private MyGenericClass access;
...
public foo() {
access = AccessFactory.getInst();
}
}
我希望能够推导出UsingFactoryClass 类中的MyGenericClass 实例access 使用参数Integer 和Float。
是否有可能做到这一点,而不必与无处不在的类型安全警告作斗争?
【问题讨论】:
标签: java generics factory type-safety