是否可以在Java中创建泛型类型的实例?我正在根据我所看到的答案进行思考no(由于类型擦除),但是如果有人能看到我所缺少的内容,我将很感兴趣:
class SomeContainer<E> { E createContents() { return what??? } }
编辑:事实证明,超级类型令牌可以用于解决我的问题,但是它需要很多基于反射的代码,如下面的一些答案所示。
你是对的。你做不到new E()。但你可以将其更改为
new E()
private static class SomeContainer<E> { E createContents(Class<E> clazz) { return clazz.newInstance(); } }
但这有效。以工厂模式包装它会使它更具容忍性。