本站消息

站长简介/公众号


站长简介:高级软件工程师,曾在阿里云,每日优鲜从事全栈开发工作,利用周末时间开发出本站,欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,java大神匠心打造,零基础java开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

将 String、ArrayList 等对象添加到 List<Object>

发布于2021-11-28 10:30     阅读(159)     评论(0)     点赞(15)     收藏(3)


我有一个数据结构Map < String, Map < ConfigKey, ConfigValue<Object > > >这就像Map从“命名空间”到Map“键”到“值”。我的解析器读取配置文件并动态决定是否应将该值视为Stringor 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>.

阅读有关 Java一般编程中的协变和逆变的更多信息

这将解决它

private Map<String, Map<ConfigKey, ConfigValue<? extends Object>>> configuration = new HashMap<String, Map<ConfigKey, ConfigValue<? extends Object>>>();

或者

Map<String, Map<ConfigKey, ConfigValue<?>>> 

并且请避免在您的代码中使用原始类型



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/337847/1c427cdba103b94cdfdc/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

15 0
收藏该文
已收藏

评论内容:(最多支持255个字符)