作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Java 中,我正在尝试检索 HashMap<String, Object>
对象是:HashMap<String, Object>
.
我实现了一个返回 HashMap<String, Object>
的递归函数使用给定的 key 找到,或 null
如果找不到 key 。
函数如下:
public static HashMap<String, Object> getHashMap(HashMap<String,
Object> map, String key)
{
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (entry.getValue().getClass().getName() == "java.util.HashMap") {
if (entry.getKey() == key)
return (HashMap<String, Object>) entry.getValue();
return getHashMap((HashMap<String, Object>) entry.getValue(), key);
}
}
return null;
}
它只适用于第一项。如何遍历一个HashMaps的Hashmap?什么是更好的方法?
最佳答案
这里不是立即返回值:
return getHashMap((HashMap<String, Object>) entry.getValue(), key);
你想先检查它是否不是null
,然后才返回它。否则你应该继续搜索:
HashMap<String, Object> result = getHashMap((HashMap<String, Object>) entry.getValue(), key);
if (result != null)
return result;
关于java - HashMaps遍历的HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4327791/
我是一名优秀的程序员,十分优秀!