gpt4 book ai didi

java - 在 Map 中存储 HashMap

转载 作者:行者123 更新时间:2023-11-29 09:46:44 27 4
gpt4 key购买 nike

鉴于以下情况:

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);

如何从 map1 获取“Grp A”值?

最佳答案

更改 map1到:

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

然后 map1.get("Grp").get("Grp A")将工作。

当然,一般来说存储map1.get("Grp")会更安全在一个变量中,并在调用第二个 get() 之前检查它是否不为空:

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

如果必须保留map1作为Map<String, Object> (例如,如果您必须在其中存储不同类型的值),则必须检查从外部 Map 获得的值的类型。 , 并将其转换为 Map在获取内在值(value)之前:

String value = null;
Object innerObj = map1.get("Grp");
if (innerObj instanceof Map<?,?>) {
Map<?,?> inner = (Map<?,?>) map1.get("Grp");
Object obj = inner.get("Grp A");
if (obj instanceof String) {
value = (String) obj;
}
}

关于java - 在 Map<String, Object> 中存储 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58321511/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com