Scala 数据类型概述
Scala 数据类型分为两大类:值类型(AnyVal)和引用类型(AnyRef)。所有类型都继承自 Any,底层类型为 Nothing。
值类型(AnyVal)
值类型直接对应 JVM 的基本类型,但以类形式呈现:
- 整数类型:
Byte、Short、Int、LongInt是默认类型,字面量如42Long需加L后缀,如42L
- 浮点类型:
Float、DoubleDouble是默认类型,如3.14Float需加F后缀,如3.14F
- 其他类型:
Char、Boolean、UnitUnit表示无返回值,类似 Java 的void
引用类型(AnyRef)
所有非值类型均为引用类型,包括:
- 标准库类型:
String、List、Option等 - 自定义类:用户定义的任何类
- 特殊类型:
Null是所有引用类型的子类
类型推断与声明
Scala 支持类型推断,但显式声明更明确:
val x = 42 // 推断为 Int
val y: Long = 42LidgetL // 显式声明
类型转换
值类型可通过方法强制转换,但需注意精度损失:
val x: Int = 97
val y: Char = x.toChar // ASCII 转换为 'a'
特殊类型
- Any:所有类型的超类
- Nothing:所有类型的子类(用于异常处理)
- Null:所有引用类型的子类(已过时,建议用
Option)
集合类型
Scala 集合严格区分可变与不可变:
- 不可变集合:
List、Set、Map(默认) - 可变集合:需导入
scala.collection.mutable包
类型别名
可通过 type 创建别名增强可读性:
type UserId = Int
val id: UserId = 1001
1746

被折叠的 条评论
为什么被折叠?



