Chinaunix首页 | 论坛 | 博客
  • 博客访问: 553575
  • 博文数量: 233
  • 博客积分: 2221
  • 博客等级: 大尉
  • 技术积分: 3184
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-16 14:01
个人简介

瓜瓜派的瓜瓜

文章分类

全部博文(233)

文章存档

2013年(28)

2012年(197)

2011年(8)

分类: Java

2013-01-28 21:37:48

Scala的List(列表),是不可变、同类型的对象序列,比如都是String、Int。

不可变、同类型的对象序列,意味着每个操作,你都要考虑是否产生新的列表,而非在原有列表上修改。
Scala值得关注的地方,还有:
“:::” - 叠加
scala> var a = List(1, 2)
a: List[Int] = List(1, 2)

scala> var b = List(3, 4)
b: List[Int] = List(3, 4)

scala> var c = a:::b
c: List[Int] = List(1, 2, 3, 4)

“::” - 把新元素加到列表前面,并返回新列表
scala> var d = 0::c
d: List[Int] = List(0, 1, 2, 3, 4)
“::”是被右操作数调用的,上例相当于:
scala> var d = c.::(0)
d: List[Int] = List(0, 1, 2, 3, 4)

Nil的意义
Nil代表空列表。
scala> var e = 1::2::3
<console>:7: error: value :: is not a member of Int
      var e = 1::2::3
                  ^

scala> var e = 1::2::3::Nil
e: List[Int] = List(1, 2, 3)
上面代码的第一个例子为什么是错的?已经解释得很清楚了,Int没有“::”方法。

阅读(1438) | 评论(0) | 转发(0) |
0

上一篇:两个有关Scala的疑问

下一篇:Scala的难度

给主人留下些什么吧!~~