scala理解可变与不可变

- 日理万妓 2023-07-11 12:38 103阅读 0赞

我们定义变量的时候分为var可变变量和val不可变变量。
我们使用容器的时候也分为可变容器和不可变容器。
List和Tuple本身就是不可变的,set和map分为可变和不可变的,默认为不可变。

  1. //不报错
  2. var list = scala.collection.immutable.List(“Hello”,“World”);
  3. list += Scala”;
  4. //报错
  5. val list = scala.collection.immutable.List(“Hello”,“World”);
  6. list += Scala”;
  7. //不报错
  8. var list = scala.collection.mutable.ListBuffer(“Hello”,“World”);
  9. list += Scala”;
  10. //不报错
  11. val list = scala.collection.mutable.ListBuffer(“Hello”,“World”);
  12. list += Scala”;

首先理解immutable和mutable,前者为不可变,后者为可变。这里面的可变性指的是在原List上是否可变,但是如果我改变了该List值,赋值给另外一个List,那是可以的。
接下来理解val,var,前者为不可变,后者为可变,这个指的的后面List的指向,val指向的地址值不可变

发表评论

表情:
评论列表 (有 0 条评论,103人围观)

还没有评论,来说两句吧...

相关阅读