基本上我要做的是从泛型函数中分配参数化类型:
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)
所以...有没有解决方法(也许使用反射或其他一些)?
谢谢!
你不能.解决方案是传递Class方法中的对象并使用反射来创建实例.
没有任何异常处理的示例:
public <T> T wishful_thinking(Class<T> clazz)
{
return clazz.newInstance();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
444 次 |
| 最近记录: |