Storing HashMap inside Map<String, Object>

user8833115566 :

Given the following situation:

Map<String, Object> map1 = new HashMap();
Map<String, String> map2 = new HashMap();

map2.put("Grp A", "a");
map2.put("Grp B", "b");

map1.put("Grp",map2);

How can get the "Grp A" value from map1 ?

Samuel Noyes :

Simply retrieve map2 from map1 by casting to a Map and then get the desired value from that Map:

return ((Map<String,String>)map1.get("Grp")).get("Grp A");

However, better practice would be to check that map2 isn't null before retrieving "Grp A":

Map<String,String> map = (Map<String,String>)map1.get("Grp");
if (map != null) {
    return map.get("Grp A");
}

@Eran's answer would be better practice, but OP asked how to retrieve the value from the given HashMap.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=309293&siteId=1