[英]Adding String,ArrayList, etc objects to List<Object>
我有一个数据结构Map < String, Map < ConfigKey, ConfigValue<Object > > >
。 这就像一个Map
“命名空间”,以Map
的“钥匙”,以“价值”。 我的解析器读取配置文件,并动态决定该值应视为String
还是ArrayList
。
我看到将ArrayList
添加到上述数据结构时出错。 请告诉我如何解决此问题。
private Map<String, Map<ConfigKey, ConfigValue<Object>>> configuration = new HashMap<String, Map<ConfigKey, ConfigValue<Object>>>();
:
configuration.get(groupName).put(new ConfigKey(key), new ConfigValue<Object>(override, value)); // works
:
configuration.get(groupName).put(new ConfigKey(key), new ConfigValue<List>(override, Arrays.asList(values))); // does not work
ConfigValue<List> is not a ConfigValue<Object>.
这会解决它
private Map<String, Map<ConfigKey, ConfigValue<? extends Object>>> configuration = new HashMap<String, Map<ConfigKey, ConfigValue<? extends Object>>>();
要么
Map<String, Map<ConfigKey, ConfigValue<?>>>
并且请避免在代码中使用原始类型 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.