泛型函数中的对象的Java分配解决方法?

Sea*_*ass 0 java

基本上我要做的是从泛型函数中分配参数化类型:

public < T > T wishful_thinking(  )
{
    return new T( );
}
Run Code Online (Sandbox Code Playgroud)

由于"对象切片"(即,它编译,但"段错误"),转换也不起作用:

public < T > T wishful_thinking(  )
{
    return ( T )new Object( );
}
Run Code Online (Sandbox Code Playgroud)

所以...有没有解决方法(也许使用反射或其他一些)?

谢谢!

Lau*_*ntG 5

你不能.解决方案是传递Class方法中的对象并使用反射来创建实例.

没有任何异常处理的示例:

public <T> T wishful_thinking(Class<T> clazz)
{
    return clazz.newInstance();
}
Run Code Online (Sandbox Code Playgroud)