嗨!我是一个尝试Java的人.所以我将如何在java中执行以下操作.
在C#中
public T create_an_instance_of<T>(){
T instance = default (T);
// here's usually some factory to create the implementation
instance = some_factory.build<T>();
// or even..
instance = some_factory.build(typeOf(T) );
return instance;
}
Run Code Online (Sandbox Code Playgroud)
Java的泛型基于类型擦除.这允许它们向下兼容,但意味着您不能使用type参数本身,因为它在运行时不存在.
你能做的最接近的事是:
public <T> T create_an_instance_of(Class<T> c){
return c.newInstance(); // or use constructors via reflection
}
Run Code Online (Sandbox Code Playgroud)