我的地图如下:
private Map<String, Object> map = new HashMap<>();
此映射包含其键值对,如下:
键 值
myKey
-> value
value
-> Another value
如上所示,此映射要么为空,要么具有包含以上键值的键值对(myKey
,value
和value
作为下一个元素的键)。
我要检查这张地图:
是否为空
具有myKey
和value
,如果是,则具有 Another value
。我的代码有这么多if
else
,所以想避免以更好的方式查找Another value
if (map.isEmpty()) {
if (map.get(myKey) != null || StringUtils.isNotBlank(map).get(myKey).toString())) {
String nextKey = map.get(myKey).toString();
if (StringUtils.isNotBlank(nextKey) && map.get(nextKey) != null
&& StringUtils.isNotBlank(map.get(nextKey).toString())) {
String finalValue = map.get(nextKey).toString();
}
}
} else {
flag = true;
}
答案 0 :(得分:3)
您可以使用Map的containsKey
方法来避免多个if
Map<String,String> map = new HashMap<>();
if(map.containsKey(myKey) && StringUtils.isNotBlank(map.get(myKey))
&& map.containsKey(map.get(myKey))) {
flag=false;
} else {
flag=true
}
上述代码的简化版本是
flag = StringUtils.isBlank(map.get(myKey)) || !map.containsKey(map.get(myKey));
答案 1 :(得分:1)
我猜您正在寻找的是对象的有序列表。为什么不只保留一个列表?