今天看Scala的几个要点

1970阅读 0评论2013-02-02 2gua
分类:Java

伴生对象
Scala的类,通常都有一个伴生对象,在Scala的帮助文档里,“O”的标记,就代表伴生对象,查的时候要注意。伴生对象有很多增强型功能的方法,Scala的威力,很大部分来自于它,其方法类似于Java的静态方法,Scala没有静态方法。
scala> BigInt.probablePrime(3, util.Random)
res2: scala.math.BigInt = 5
 
scala> BigInt.probablePrime(3, util.Random)
res3: scala.math.BigInt = 7
 
scala> BigInt.probablePrime(3, util.Random)
res4: scala.math.BigInt = 7
probablePrime就是BigInt类的伴生对象的一个方法,随机返回3位(bit)素数,也就是:不是5就是7。

没有参数,且不改变对象本身的方法,通常不加括号
scala> "WOOOoooW".distinct
res5: String = WOo
如:distinct方法

apply方法
很多伴生对象都有apply方法,apply方法用途很广,举例如下:
scala> "Hello"(1)
res6: Char = e
 
scala> "Hello".apply(1)
res7: Char = e
 
scala> "Hello".charAt(1)
res8: Char = e
"Hello"(1)"Hello".apply(1)的简写,最后一种写法是Java的标准写法。

其它
除了方法,Scala也是提供函数的,比如sqrt:
scala> math.sqrt(2)
res10: Double = 1.4142135623730951

上一篇:Scala的难度
下一篇:Scala:控制结构与函数练习(一)