首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >副作用mutable.Map scala

副作用mutable.Map scala
EN

Stack Overflow用户
提问于 2019-07-25 17:30:37
回答 1查看 62关注 0票数 2

当我试图在可变的Map中插入一个元素时,我希望这个元素被插入到我的映射中,而不是返回映射中(像PF,不可变的obj ecc...)出于这个原因,我使用了可变集合,但是在我的map中" a“是不可能插入元素(副作用)的,但是这个更新只在返回类型中,e不在a中。为什么?如何在我的地图中插入新元素(x -> y)??

代码语言:javascript
复制
def a = scala.collection.mutable.map[Int,Int]()

def x = 5
def y = 6

a+= (x -> y)

println(a.size) // print 0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-25 17:39:57

这是因为您已经将a定义为def,这意味着一个方法。这意味着每次调用a时,都会返回可变映射的一个新实例。你想要的是一个val

代码语言:javascript
复制
@ val a = mutable.Map[Int, Int]()
a: mutable.Map[Int, Int] = Map()

@ a += (5 -> 6)
res2: mutable.Map[Int, Int] = Map(5 -> 6)
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57198703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档