gpt4 book ai didi

java - 在 Java 中实例化通用对象

转载 作者:行者123 更新时间:2023-12-02 12:34:23 24 4
gpt4 key购买 nike

是否可以像下面的代码片段那样在 Java 中实例化通用对象?我知道在 C# 中这是可能的。但是,我在 Java 中还没有看到类似的机制。

// Let T be a generic type.
T t = new T();

最佳答案

不,由于类型删除,这在 Java 中不起作用。当代码执行时,代码不知道什么 T是。

请参阅Java Generics FAQ有关 Java 泛型的更多信息比您想要的更多:) - 特别是,请参阅 Type Erasure部分。

如果需要知道 T 的类型在执行时,由于这个或其他原因,您可以将其存储在 Class<T> 中并将其放入构造函数中:

private Class<T> realTypeOfT;

public Foo(Class<T> clazz) {
realTypeOfT = clazz;
}

然后您可以调用 newInstance()等等

关于java - 在 Java 中实例化通用对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4033518/

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