gpt4 book ai didi

java - 我可以将泛型属性存储到对象的字段中吗

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

假设有以下类 stub :

public class Foo<T> {
private Class<T> type;

public Foo<T> () {}
}

我可以存储通用类型吗 T进场type在构造函数中,不将构造函数的签名更改为“public Foo<T> (Class<T> type)”?

如果是,怎么办?如果不是,为什么?

type = T”似乎不起作用。

最佳答案

否 - 类型删除意味着您必须在执行时提供一些东西。您可以提供 T 的一个实例或 Class<T>但是类本身只会将每次出现的 T 替换为 Object .

这种事情是 Java 的泛型与 .NET 中的泛型相比的最大缺点之一。 (另一方面,在 Java 中的方差故事比在 .NET 中更强大 - 如果更令人困惑的话。)

关于java - 我可以将泛型属性存储到对象的字段中吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/304640/

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