我正在寻找这个问题的惯用解决方案。
我正在构建一个valScala ( 不可变的) Map 并希望添加一个或多个项目:
val aMap =
Map(key1 -> value1,
key2 -> value2,
(if (condition) (key3 -> value3) else ???))
不使用 a 怎么能做到这一点var?应该用什么代替????使用运算符更好+吗?
val aMap =
Map(key1 -> value1,
key2 -> value2) +
(if (condition) (key3 -> value3) else ???))
一种可能的解决方案是:
val aMap =
Map(key1 -> value1,
key2 -> value2,
(if (condition) (key3 -> value3) else (null, null))).filter {
case (k, v) => k != null && v != null
}
这是最好的方法吗?