gpt4 book ai didi

java - 使用字符串(文本)传递泛型类型(反射?)

转载 作者:太空宇宙 更新时间:2023-11-04 14:44:57 24 4
gpt4 key购买 nike

我将所有配置存储在一个 xml 文件中,当我加载它们时,我希望每个配置规则都存储在一个配置对象中。

public class Configuration<T> {

private String name;
private T value;

public Configuration(String configName, T value) {
this.name = configName;
this.value = value;
}

public String getName() {
return this.name;
}

public T getValue() {
return this.value;
}

}

在 XML 中,我有一个与每个配置类似的节点:<type>Integer</type> 。该节点保存配置 T 的通用类型,它将用于值。

当我加载<type>时节点,我得到一个值为 "Integer" 的字符串。它可以是任何东西,Object,MyClazz,但例如我写了 "Integer" .

是否可以使用字符串值来初始化类的泛型类型?

即在这种情况下,配置对象将是 Configuration<Integer>

最佳答案

由于类型删除,我认为您的问题没有意义。 Java 泛型仅在编译时存在。在运行时,所有有关泛型类型的信息都会被删除。由于对象实例化仅在运行时发生,因此根本没有泛型参与的空间。

关于java - 使用字符串(文本)传递泛型类型(反射?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24518024/

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