簡體   English   中英

hashmap,java8,空/空檢查

[英]hashmap, java8, null/empty check

我有如下地圖:

private Map<String, Object> map = new HashMap<>();

該映射包含其鍵值對,如下所示:

關鍵

myKey > value

value -> Another value

如上所示,此映射將為空,或者具有包含上述鍵值( myKeyvaluevalue作為下一個元素的鍵)的鍵值對。

我想檢查一下這張地圖:

是否為空

具有myKeyvalue ,如果是,則具有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM