Scala';s+;=可变集合的方法
scale可变集合的+=方法在幕后转换成了什么Scala';s+;=可变集合的方法,scala,collections,queue,Scala,Collections,Queue,scale可变集合的+=方法在幕后转换成了什么 例如,如果我在可变队列上执行+=操作,这是否等同于执行排队?对于可变集合上的-=?+=也是如此,这只是对+=的普通方法调用。您可能正在使用中缀符号编写它,如下所示: intList += 5 这相当于: intList.+=(5) scala.collection.mutable.Queue上没有-=方法 scale可变集合的+=方法在幕后转换成了什么 它没有被翻译成任何东西。它调用给定对象上名为+=的方法 如果我在可变队列上执行+=操作,这是
例如,如果我在可变队列上执行+=操作,这是否等同于执行排队?对于可变集合上的-=?
+=
也是如此,这只是对+=
的普通方法调用。您可能正在使用中缀符号编写它,如下所示:
intList += 5
这相当于:
intList.+=(5)
scala.collection.mutable.Queue上没有-=
方法
scale可变集合的+=方法在幕后转换成了什么
它没有被翻译成任何东西。它调用给定对象上名为+=
的方法
如果我在可变队列上执行+=操作,这是否等同于执行排队
如果查看Queue.+=
和Queue.enqueue
1的文档,它们是相同的,只是enqueue
可以接受多个参数。因此,是的,可变队列上的+=
相当于使用单个参数排队
1从文件中引用:
在队列末尾插入单个元素
参数
- 元素-要插入的元素
及
将所有元素添加到队列中
参数
- 元素-要添加的元素
根据
队列实现为:
def enqueue(elems: A*): Unit = this ++= elems
出列
代码更复杂,不等同于-=
,因为队列
没有-=
方法
def enqueue(elems : A*) : Unit
def enqueue(elems: A*): Unit = this ++= elems