【发布时间】:2018-03-21 06:17:40
【问题描述】:
我想从可变映射中获取一个元素并对其进行操作。
例如我想更改他的名字值(地图上的元素将使用新值)
最后我想退货
一开始我写了一个工作代码,但它非常Java
var newAppKey: AppKey = null
val appKey = myMap(request.appKeyId)
if (appKey != null) {
newAppKey = appKey.copy(name = request.appKeyName)
myMap.put(appKey.name, newAppKey)
newAppKey
} else {
newAppKey = null
}
此代码有效,但它非常Java。
我想像
val newAppKey = appIdToApp(request.appKeyId) match {
case: Some(appKey) => appKey.copy(name = request.appKeyName)
case: None => None{AppKey}
}
不会用新值编译或更新 myMap 对象。
如何将其改进为 scala 概念。
【问题讨论】: