0
val scan2 = new scala.collection.mutable.HashMap[String, Int]
var scan2 = new scala.collection.immutable.HashMap[String, Int]

我应该更喜欢哪个或更好,因为我俩都做同样的工作。这让我有点困惑。我是 Scala 的新手。

4

1 回答 1

1

如果你是从 Java 过来的,你可能会发现可变版本更熟悉,并且在用 Scala 重写 Java 代码时更容易使用。然而,从长远来看,我(和其他人)建议尽可能习惯使用和使用集合类的不可变形式。使用不可变数据(不可变集合,使用“val”而不是“var”等)本质上更具功能性(如“函数式编程”风格),这是 Scala 值得探索的优势。例如,它在并发情况下工作得更好(不必担心锁定/同步对集合的访问以阻止它被意外修改等等),并且可以更好地推理代码的工作方式。你不应该

于 2013-08-01T06:58:03.670 回答