scala对象和集合在默认情况下是不可变的吗?

scala对象和集合在默认情况下是不可变的吗?,scala,Scala,作为Scala的障碍,有人提到所有Scala对象和集合在默认情况下都是不可变的。这是对的吗?这不是真的 虽然不可变是FP(函数编程)的一个特性,但在Scala中有多种用法。比如说, val greetStrings: Array[String] = new Array[String](3) 您可以随时间更改该数组[字符串]的元素,因此数组本身是可变的 对于集合和映射,Scala提供了不可变和可变的变体,默认情况下是不可变的 不可变的默认值的内部故事: Scala预定义了 type Map[A

作为Scala的障碍,有人提到所有Scala对象和集合在默认情况下都是不可变的。这是对的吗?

这不是真的

虽然
不可变
FP
(函数编程)的一个特性,但在
Scala
中有多种用法。比如说,

val greetStrings: Array[String] = new Array[String](3)
您可以随时间更改该数组[字符串]的元素,因此数组本身是可变的

对于
集合
映射
Scala
提供了不可变和可变的变体,默认情况下是不可变的

不可变的默认值的内部故事:

Scala
预定义了

type Map[A, +B] = immutable.Map[A, B]
type Set[A]     = immutable.Set[A]
Predef.scala
中,它不是真的

虽然
不可变
FP
(函数编程)的一个特性,但在
Scala
中有多种用法。比如说,

val greetStrings: Array[String] = new Array[String](3)
您可以随时间更改该数组[字符串]的元素,因此数组本身是可变的

对于
集合
映射
Scala
提供了不可变和可变的变体,默认情况下是不可变的

不可变的默认值的内部故事:

Scala
预定义了

type Map[A, +B] = immutable.Map[A, B]
type Set[A]     = immutable.Set[A]
Predef.scala
中,它不是真的

虽然
不可变
FP
(函数编程)的一个特性,但在
Scala
中有多种用法。比如说,

val greetStrings: Array[String] = new Array[String](3)
您可以随时间更改该数组[字符串]的元素,因此数组本身是可变的

对于
集合
映射
Scala
提供了不可变和可变的变体,默认情况下是不可变的

不可变的默认值的内部故事:

Scala
预定义了

type Map[A, +B] = immutable.Map[A, B]
type Set[A]     = immutable.Set[A]
Predef.scala
中,它不是真的

虽然
不可变
FP
(函数编程)的一个特性,但在
Scala
中有多种用法。比如说,

val greetStrings: Array[String] = new Array[String](3)
您可以随时间更改该数组[字符串]的元素,因此数组本身是可变的

对于
集合
映射
Scala
提供了不可变和可变的变体,默认情况下是不可变的

不可变的默认值的内部故事:

Scala
预定义了

type Map[A, +B] = immutable.Map[A, B]
type Set[A]     = immutable.Set[A]

Predef.scala
中,序列是唯一一个默认不可变的集合,其原因实际上是允许构造数组

序列是唯一一个默认不可变的集合,其原因实际上是允许构造数组

序列是唯一一个默认不可变的集合,并且原因实际上是允许构造数组

序列是唯一一个不能作为默认值不变的集合,原因实际上是允许构造数组