我有一个泛型类,它带有两个类型参数:
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();
}
}
我希望能够推导出MyGenericClass
类中的access
实例UsingFactoryClass
使用参数Integer
和Float
。
是否可以在不必与各地的类型安全警告竞争的情况下这样做?
答案 0 :(得分:3)
声明为:
private MyGenericClass<Integer, Float> access;