Scala数据类型重点知识

Scala 数据类型概述

Scala 数据类型分为两大类:值类型(AnyVal)和引用类型(AnyRef)。所有类型都继承自 Any,底层类型为 Nothing

值类型(AnyVal)

值类型直接对应 JVM 的基本类型,但以类形式呈现:

  • 整数类型ByteShortIntLong
    • Int 是默认类型,字面量如 42
    • Long 需加 L 后缀,如 42L
  • 浮点类型FloatDouble
    • Double 是默认类型,如 3.14
    • Float 需加 F 后缀,如 3.14F
  • 其他类型CharBooleanUnit
    • Unit 表示无返回值,类似 Java 的 void

引用类型(AnyRef)

所有非值类型均为引用类型,包括:

  • 标准库类型:StringListOption
  • 自定义类:用户定义的任何类
  • 特殊类型: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 集合严格区分可变与不可变:

  • 不可变集合:ListSetMap(默认)
  • 可变集合:需导入 scala.collection.mutable

类型别名

可通过 type 创建别名增强可读性:

type UserId = Int
val id: UserId = 1001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值