Java allocation of objects within generic functions workaround?
本问题已经有最佳答案,请猛点这里访问。
基本上,我要做的就是从一个泛型函数中分配一个参数化类型:
1 2 3 4 | public < T > T wishful_thinking( ) { return new T( ); } |
由于"对象切片"(即编译,但"segfaults"),强制转换也不起作用:
1 2 3 4 |
号
那么……是否有任何解决方法(也许是使用反射或类似的方法)?
谢谢!
不能。解决方案是在方法中传递
没有任何异常处理的示例:
1 2 3 4 | public <T> T wishful_thinking(Class<T> clazz) { return clazz.newInstance(); } |
泛型在Java中没有具体化。因此,不能有类似于
获取对象的唯一方法是使用
1 2 3 4 | public <T> T wishful_thinking( Class<T> classToInstanciate ) throws ... { return classToInstanciate.newInstance(); } |
号