gpt4 book ai didi

java 泛型 : getting class of a class with generic parameters

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:41:54 26 4
gpt4 key购买 nike

我很好奇这个怎么实现

 Class<Map<String,String>> food = Map.class;

这显然行不通。我想要这样的东西

 Class<Map<String,String>> food = Map<String,String>.class;

但这似乎不是有效的 java 语法。

如何让这个工作?

编辑:我想要这个的原因是因为我有这样的方法

   protected <ConfigType> ConfigValue<ConfigType> getSectionConfig(String name, Class<ConfigType> configType) {
return config.getConfig(name);
}

我想这样调用它

ConfigValue<Map<String,Object>> config = getSectionConfig("blah", Map<String,Object>.class>);
Map<String,Value> val = config.value();

最佳答案

做一个粗暴的转换

    Class<Map<String,String>> clazz = 
(Class<Map<String,String>>)(Class)Map.class;

这在理论上是不正确的,但这不是我们的错。有时我们需要这样的技巧。

关于java 泛型 : getting class of a class with generic parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20010809/

26 4 0