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