Kotlin 数据类型

预计阅读时间1 分 157 views

Kotlin 拥有一套强大的类型系统,它包含以下主要类别:

  1. 基本数据类型: 包括 Int、Long、Float、Double、Boolean、Char 等,用于表示常见的数值、逻辑值和字符。
  2. 字符串类型 (String): 用于表示文本信息。
  3. 数组类型 (Array): 用于存储相同类型的多个数据项。
  4. 集合类型 (Collection): 包括 List、Set、Map 等,用于存储和操作数据集合。
  5. 自定义类型: 可以使用类 (Class)、接口 (Interface)、枚举 (Enum) 等自定义数据类型。

本节将重点介绍基本数据类型、类型推断、类型转换和字符串模板。

基本数据类型

Kotlin 的基本数据类型与 Java 非常相似,但也有一些区别:

类型描述取值范围默认值
Int32 位整数-2,147,483,648 到 2,147,483,6470
Long64 位整数-9,223,372,036,854,775,808 到 9,223,372,036,854,775,8070L
Float32 位单精度浮点数约 ±3.40282347E+38F0.0f
Double64 位双精度浮点数约 ±1.79769313486231570E+3080.0
Boolean布尔值true 或 falsefalse
Char16 位 Unicode 字符‘\u0000’ 到 ‘\uffff’ (0 到 65,535)‘\u0000’

需要注意的是,Kotlin 中的数字类型没有自动类型提升。例如,将 Int 类型的值赋给 Long 类型的变量需要进行显式类型转换。

类型推断

Kotlin 支持强大的类型推断功能,可以根据上下文自动推断变量的类型。这意味着你无需总是显式声明变量的类型,编译器可以帮助你完成这项工作。例如:

val age = 25 // 编译器自动推断 age 的类型为 Int

这里解释下:当你在 Kotlin 中写 val age = 25 时,虽然你没有显式声明 age 的类型,但编译器会根据赋给 age 的值(在这里是整数 25)推断出其类型为 Int。一旦类型被推断出来,它就被固定了,不能在运行时改变。这种类型推断只是为了编程的便利,减少了冗余代码,但底层仍然是静态类型检查。

类型转换

当需要将一种数据类型的值转换为另一种数据类型时,需要进行类型转换。Kotlin 提供了多种类型转换方式:

  • 显式类型转换: 使用 to 关键字及其后跟目标类型名称进行转换,例如 toInt()toString()toDouble() 等。
  • 隐式类型转换: 在某些情况下,编译器会自动进行类型转换,例如将 Int 类型的值赋给 Double 类型的变量。

需要注意的是,不安全的类型转换可能会导致运行时错误。

字符串模板

Kotlin 的字符串模板功能可以方便地将变量和表达式的值嵌入到字符串中。使用 ${} 语法将变量或表达式包裹起来即可。例如:

val name = "Alice"
val greeting = "Hello, ${name}!" // greeting 的值为 "Hello, Alice!"

分享此文档

Kotlin 数据类型

或复制链接

本页目录