我有这两个类作为例子:泛型类型的实例化?
public class AClass {
public int i;
public static int static_i;
public AClass(int i) {
}
public void aMethod() {}
public static void aStaticMethod() {}
public static AClass getInstance(int i) {
return new AClass(i);
}
}
和
public class AnOtherClass<T extends AClass> {
T aMember;
public void method() {
// Instanciation of T failed
aMember = new T(0);
// Instanciation via getInstance static method failed
aMember = T.getInstance(0);
// OK
T.aStaticMethod();
// OK
aMember.aMethod();
}
}
- 的T实例化失败: “不能实例化类型T” 通过的getInstance静态方法失败
- 实例化:“类型不匹配:无法从AClass转换为T“
- 为什么不能?我不明白你为什么不能这样做。
- 为什么不能将AClass转换为T,因为T是AClass的子类?
http://stackoverflow.com/questions/2434041/instantiating-generics-type-in-java http://stackoverflow.com/questions/2116404/java-generics-why-this-wont-work http:/ /stackoverflow.com/questions/1090458/instantiating-a-generic-class-in-java – 2012-02-25 15:03:19