gpt4 book ai didi

java - 在Java中创建泛型类型的实例?

转载 作者:行者123 更新时间:2023-12-01 19:22:17 25 4
gpt4 key购买 nike

是否可以在 Java 中创建泛型类型的实例?根据我所看到的,我认为答案是(由于类型删除),但如果有人能看到我的东西,我会很感兴趣我失踪了:

class SomeContainer<E>
{
E createContents()
{
return what???
}
}

编辑:事实证明Super Type Tokens可以用来解决我的问题,但它需要大量基于反射的代码,正如下面的一些答案所示。

我会让这个问题暂时开放,看看是否有人想出任何与 Ian Robertson 的 Artima Article 截然不同的东西。 .

最佳答案

你是对的。你不能执行new E()。但你可以将其更改为

private static class SomeContainer<E> {
E createContents(Class<E> clazz) {
return clazz.newInstance();
}
}

很痛苦。但它有效。将其包装在工厂模式中使其更容易忍受。

关于java - 在Java中创建泛型类型的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59345534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com