如何制作可变映射并在创建时避免弃用

问题描述 投票:0回答:1

我有一些 scala 代码抱怨 Trait MapOps 中的方法 + 已被弃用(自 2.13.0 起)

代码创建地图

var map : Map[String,Any] = Map()
...
map += ("foo" -> "baa")

此方法返回的映射需要是不可变的。

一些谷歌搜索暗示 += 不是必需的,应该使用 addOne(),但 Map() 没有 addOne()。仅云部署,因此我无法从 IDE 获得任何帮助。

如何创建一个可变映射添加到其中,然后返回一个不可变映射?以一种惯用的方式,不会被弃用。

scala gatling
1个回答
0
投票

如何创建一个可变映射添加到其中,然后返回一个不可变映射?

您可以使用

.toMap

将可变 Map 转换为不可变 Map
val map: mutable.Map[String,Any] = mutable.Map()
val map1: immutable.Map[String, Any] = (map += ("foo" -> "baa")).toMap

mutable.Map
+=
并未被弃用,而是
collection.Map
+=
已被弃用。

collection.Map
mutable.Map
immutable.Map
的父级。

© www.soinside.com 2019 - 2024. All rights reserved.