2013-04-18 97 views

回答

4

...或者是有任何的数据结构,在那里我可以存储三个相关的东西?

只需创建自己的班级。

public class Foo { 

    private final Bar thingOne; 
    private final Bar thingTwo; 
    private final Bar thingThree; 

    // ... 

} 

如果需要,您可以将其存储在Collection中。

注:不要把我的简单的例子,作为一个建议,你应该为您的领域foo1foo2等给他们有意义的名字,如forenamesurname

1

如果肯定"firstKey"存在regMap,使用:

String value = regMap.get("firstKey").get("secondKey"); 

要不然:

private String safelyGetString(String firstKey, String secondKey) { 
    Map<String,String> temp = regMap.get(firstKey); 
    return (temp == null ? null : temp.get(secondKey)); 
} 
+0

如果regMap.get(“firstKey”)返回null,将抛出NullPointerException – Rohit

+0

这就是为什么我添加了:“如果您确定regMap中存在”firstKey“...” – BobTheBuilder

0

的一种方法是

Map<String,String> innerMap= regMap.get("string"); 
String value=null; 
if(innerMap!=null) 
value=innerMap.get("insidemap"); 
0

当你确信的关键第一张地图是有效的,你可以使用

String value = regMap.get("key1").get("key2"); 

但是,如果在第一个映射中找不到键,将会引发NullPointerException。要检查此,请执行以下操作:

String value; 
Map<String, String> subMap = regMap.get("key1"); 
if (subMap != null) { 
    value = subMap.get("key2"); 
} 
0

我建议不要使用这样的结构。如前所述,最好在地图中使用自己的对象,以便您可以比地图中的地图更好地访问它们。

相关问题