我将所有配置存储在xml文件中,当我加载它们时,我希望每个配置规则都存储在Configuration对象中。
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"
。
是否可以使用String值初始化类的泛型类型?
,即在这种情况下,Configuration对象将是Configuration<Integer>
答案 0 :(得分:0)
我认为由于类型擦除,你的问题没有意义。 Java Generics仅在编译时存在。在运行期间,将删除有关泛型类型的所有信息。由于您的对象实例化仅在运行时发生,因此根本没有空间可以输入图片。