当前位置:  开发笔记 > 编程语言 > 正文

如何访问地图中嵌套地图中的项目(Java)

如何解决《如何访问地图中嵌套地图中的项目(Java)》经验,为你挑选了1个好方法。

编辑:我已经尝试了建议的打印,但它给了我语法错误.无法解决.get任何人都知道修复?

截图:http://imgur.com/hoif6VL

问题:我有这张Java地图Map TestMap = new HashMap().在其对象值内是另一个地图Map NestedTestMap.

我已String song存储为第一个地图的字符串键,我将第二个地图存储为String song对象值.在第二个映射中,我String Championships将其存储为其字符串键,并Integer 113存储为其对象值.

问题:如何访问整数?我将以某种方式访问​​第一个地图的字符串以到达第二个地图,并获得第二个地图的字符串的整数.是的相当复杂哈哈.

额外奖励:我如何将此作为断言声明?这不适合我:assert (Map)(TestMap.get("song")).get(("Championships").equals(113))

当我没有嵌套地图时,这样的东西对我来说很好: assert ParsedMap.get("song").equals("kanye")



1> sisyphus..:

首先以类型安全的方式定义Map - 它是一个Map>.除非你有充分的理由,否则最好不要使用返回Object的地图 - 之后很难保持类型安全.

一旦编译器知道你的类型就很容易了.

final Map> myMap = somethingReturningAMap();
assertThat(myMap.get("myName").get("mySong"), equalTo(113));

注意:使用JUnit/Hamcrest assertThatequalTo.

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有