[英]hashmap, java8, null/empty check
我有如下地圖:
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;
}
您可以使用地圖的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));
我猜您正在尋找的是對象的有序列表。 為什么不保留清單?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.