![](/img/trans.png)
[英]Better way to create new key in map if key doesnt exist in Scala?
[英]Check if the key exist in scala Map
我是scala的新手,我有簡單的Map[String, String]
。
示例地圖:
val map = Map("a" -> "abc", "b" -> "xyz")
我想寫一個邏輯,如果地圖中存在的特定鍵然后調用值上的encrypt()方法,如果鍵不存在則返回空字符串。
我可以這樣做的一種方法是:
encrypt(map.getOrElse(MARKETPLACE_ID.toString, ""))
這將失敗,因為密鑰不存在,並且將使用空字符串調用encrypt()方法。
請幫我以最簡單的方式解決這個問題。
鑒於map.get
返回一個Option
,您可以使用其fold
方法。
map.get(MARKETPLACE_ID.toString).fold("")(encrypt)
map.get(MARKETPLACE_ID.toString).map(encrypt).orElse("")
您可以使用Option
,get to Option
和map
to encrypt
,以及當Option
為None
時使用orElse
。
您只需使用if
語句即可
if(map.keySet.contains(MARKETPLACE_ID.toString)){
encrypt(map(MARKETPLACE_ID.toString))
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.