【发布时间】:2019-04-19 07:36:12
【问题描述】:
我使用++:操作符获取两个集合的集合,但是我使用这两种方法得到的结果不一致:
scala> var r = Array(1, 2)
r: Array[Int] = Array(1, 2)
scala> r ++:= Array(3)
scala> r
res28: Array[Int] = Array(3, 1, 2)
scala> Array(1, 2) ++: Array(3)
res29: Array[Int] = Array(1, 2, 3)
为什么++: 和++:= 运算符给出不同的结果?
++ 运算符不会出现这种差异。
我使用的 Scala 版本是 2.11.8。
【问题讨论】:
-
++:和++:=的另一个有趣的效果是它从右侧获取结果集合的类型(如果它们不是这里的数组,stackoverflow.com/a/24338494/14955) --- 在++:=存在的情况下对“右手”的一些定义。
标签: arrays scala collections assignment-operator