java中map相关

Pory 2016-08-18 06:09:33
我有个数据结构需要map中嵌套map,然后我的做法是先定义一个外壳Map<String,Object> MapA,然后put进去Map<String,Object> Mapa.即MapA.put("Mapa",Mapa)。然后我遇到的问题是怎么把这个Mapa取出来?
我的做法是Map<String,Object> m = MapA.get("Mapa"),但报错。
刚学java,求大神指点,然后这相关的知识点怎么去部呢?
...全文
208 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
王飞2023 2016-08-19
  • 打赏
  • 举报
回复
Map<String,Map<String,Object>> map=new HashMap<>();
EvilLolita 2016-08-19
  • 打赏
  • 举报
回复
是类型不一致的问题,可以用的办法是: 1)改变最外层的Map的value部分为你要赋值的Map类型:Map<String,Map<String,Object>> MapA ....; 2)改变你要赋值的m为Objec:Object m = MapA.get("Mapa"); 3)强制转换MapA取值的类型:Map<String,Object> m =(Map<String,Object>)MapA.get("Mapa");此法同2楼。 PS:内在原因,貌似是java的编译器不够机智,涉及泛型的一些知识。详情参考《Effective Java》第二版23条。
异常异长 2016-08-18
  • 打赏
  • 举报
回复
取出来的时候 需要进行强类型转换 Map<String,Object> m = (map)MapA.get("Mapa")
异常异长 2016-08-18
  • 打赏
  • 举报
回复
错误log贴一下

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧