gpt4 book ai didi

java - 如何获取泛型参数类型的类实例

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:51:56 25 4
gpt4 key购买 nike

在代码中,如果我这样写一行代码:

GClass<Double> x = new GClass<Double>();

假设类是这样的:

public static class GClass<T> {
private T value = null;
public GClass() {
// What is T?
}
}

在我插入问题“What is T?”的地方,我不需要值(即 null),而是它的类型(即 Double) .

最佳答案

你查不到T在执行时,除非你添加一个构造函数参数来取 Class<T>参数并通过 Double.class 调用它在你的情况下。然后您可以存储该类并在以后使用它。

这是由于类型删除...基本上,泛型只是编译器的魔法,用于插入适当的强制转换并检查事情是否应该没问题。

参见 Type Erasure节优Java Generics FAQ .

您可能还想阅读 Neal Gafter 关于 super type tokens 的博文和 type literals .

关于java - 如何获取泛型参数类型的类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1372432/

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