检查键是否存在于scala Map中
Check if the key exist in scala Map
我是 scala 的新手,我有简单的 Map[String, String]
。
示例地图:
val map = Map("a" -> "abc", "b" -> "xyz")
我想编写一个逻辑,如果映射中存在特定键,则对值调用 encrypt() 方法,如果键不存在,则 return 空字符串。
我可以这样做的一种方法是:
encrypt(map.getOrElse(MARKETPLACE_ID.toString, ""))
如果密钥不存在,这将失败,并且将使用空字符串调用 encrypt() 方法。
请帮助我以最简单的方式解决这个问题。
map.get(MARKETPLACE_ID.toString).map(encrypt).orElse("")
你可以用 Option
做到这一点,达到 Option
,map
达到 encrypt
,orElse
当 Option
是 None
.
鉴于 map.get
returns 和 Option
,您可以使用它的 fold
方法。
map.get(MARKETPLACE_ID.toString).fold("")(encrypt)
您可以简单地使用 if
语句作为
if(map.keySet.contains(MARKETPLACE_ID.toString)){
encrypt(map(MARKETPLACE_ID.toString))
}
我是 scala 的新手,我有简单的 Map[String, String]
。
示例地图:
val map = Map("a" -> "abc", "b" -> "xyz")
我想编写一个逻辑,如果映射中存在特定键,则对值调用 encrypt() 方法,如果键不存在,则 return 空字符串。
我可以这样做的一种方法是:
encrypt(map.getOrElse(MARKETPLACE_ID.toString, ""))
如果密钥不存在,这将失败,并且将使用空字符串调用 encrypt() 方法。
请帮助我以最简单的方式解决这个问题。
map.get(MARKETPLACE_ID.toString).map(encrypt).orElse("")
你可以用 Option
做到这一点,达到 Option
,map
达到 encrypt
,orElse
当 Option
是 None
.
鉴于 map.get
returns 和 Option
,您可以使用它的 fold
方法。
map.get(MARKETPLACE_ID.toString).fold("")(encrypt)
您可以简单地使用 if
语句作为
if(map.keySet.contains(MARKETPLACE_ID.toString)){
encrypt(map(MARKETPLACE_ID.toString))
}