- 与 Java/c++ 不同的是,scala 并未提供 ++ 和 – 操作符;
不带参数的 scala 方法通常不使用圆括号;
scala> "hello".distinct String = helo
1. 数值类型转换:用(成员)方法而不是强制类型转换
scala> 99.4.toInt(不需加括号)
Int = 99
scala> 99.4.toInt.toChar
Char = c
scala> "99.4".toDouble
Double = 99.4
2. (成员)方法,还是(成员)方法
a+b 其实是 a.+(b),之所以能识别
.+
,显然内部实现了运算符重载;通常来说,可以用
a 方法 b
来简写a.方法(b)
,省去了点,也省去了小括号。scala> 1.to(10) scala.collection.immutable.Range.Inclusive = Range 1 to 10 scala> 1 to 10 scala.collection.immutable.Range.Inclusive = Range 1 to 10
3. apply
- 使用“类名()”的形式,其实就是“类名.apply()”的一种缩写,以这种方式来构造对象,而不是使用“new 类名()”的方式
- Array(1, 2, 3, 4)
- “hello World”(6),在 StringOps 类中有 def apply(n: Int): Char 的函数定义,”Hello World”(6) 其实是 “Hello World”.apply(6) 的缩写,也即提取其第六个字符;
4. scaladoc
- 可以在线浏览,也可以下载到本地,以 html 的方式就行查阅;
如何找到符合自己 scala 版本的 api,可通过如下方式:
- 点击All Available Versions | The Scala Programming Language,列出历史上全部的 release 版本;找到和自己 scala 版本相匹配的版本,点击进入;
- 在此版本的下载页面,搜索 【doc】,会看到对应的 api docs 文件;