我平时主要是写 Java,有时候读源码如 Kafka 或者 Spark 会遇见 Scala 的语法,总觉得有点别扭。我总结了一下 Scala 和 Java 有差异的语法。目的就是快速入门,消除别扭
val 和 var
-
Scala 有两类变量:val 和 var
-
val 类似 Java 的 final 变量,一旦初始化就不能被重新赋值
-
var 可以被重新赋值
object Test {
def main(args: Array[String]) {
// 申明变量的关键字 var val
var v1: String = "code"
// 类型可以自动推断
var v2 = 2
// :类型,手动指定类型
val v3: Double = 3.14
// val 相当于常量,不能不能改变其引用的对象本身
val v4 = 3
// 但是可以改变其引用的对象的其他属性
val v5 = Array(1, 2, 3)
v5(1) = 10
}
}
集合
List
List 的创建有两种方式
object Test {
def main(args: Array[String]) {
// 定义列表有两种写法 :: 和 List
//定义 列表
val empty = Nil
// ::构造列表
val nums = 1 :: (2 :: (3 :: (4 :: Nil)))
//定义 List
va