我们可以在运行时从泛型类型实例化一个对象吗? 我上课了:
MyClass<T> implements SomeInterface<T> {
..
public T someMethod() {
return <object of Type T> // Desired!!!
}
..
}
或者假设我从其他需要泛型类型实例的类中调用此方法:
TestMayClass {
DesiredClass t = new MyClass<DesiredClass>().someMethod();
// Can I have generics type at run time and construct object from it then return to calling method? Manipulating generic type??
}
:这段代码没有编译,它只是虚构的代码,有类似的东西。
答案 0 :(得分:2)
不,你不能用Java做到这一点。即使我们把type erasure放在一边,编译器怎么知道调用的构造函数存在?
Java中最接近您需求的是reflection。