Kotlin 标准库:完整概述
Kotlin 标准库 (stdlib) 是一套强大的工具集,随编译器一起提供,为日常开发提供基础功能。与 Java 不同,Java 的许多操作需要外部库,而 Kotlin 为集合、字符串、协程、序列化和文件输入输出提供了内置解决方案。在本文中,我们将通过实际示例详细解析 Kotlin 标准库的关键模块和函数。
1. 基本类型及其功能
该库包含针对原始类型和字符串的扩展函数:
- 数值类型 —
Int、Double、Long及其扩展函数(.toInt()、.coerceIn())。 - 字符串 — 模板(
"Hello, $name")、多行字符串("""...""")、方法replace()、split()、trimIndent()。 - 区间 —
1..10、step 2、downTo。
// 字符串和区间使用示例fun main() { val name = "Kotlin" val greeting = "Hello, $name!" println(greeting) // Hello, Kotlin!
for (i in 1..5 step 2) { println(i) // 1, 3, 5 }}2. 集合:List、Set、Map
Kotlin 将集合分为可变集合(MutableList、MutableSet、MutableMap)和不可变集合(List、Set、Map)。主要功能:
- 创建 —
listOf()、setOf()、mapOf()。 - 过滤和转换 —
filter()、map()、flatMap()、groupBy()。 - 聚合 —
sum()、count()、reduce()、fold()。 - 排序 —
sorted()、sortedBy()。
// 集合操作示例fun main() { val numbers = listOf(1, 2, 3, 4, 5) val evenSquares = numbers .filter { it % 2 == 0 } .map { it * it } println(evenSquares) // [4, 16]
val grouped = numbers.groupBy { if (it % 2 == 0) "even" else "odd" } println(grouped) // {odd=[1, 3, 5], even=[2, 4]}}3. 序列 (Sequences)
对于惰性计算,Kotlin 提供了 Sequence。这在处理大量数据时特别有用:
fun main() { val result = (1..1_000_000) .asSequence() .filter { it % 2 == 0 } .map { it * 2 } .take(5) .toList() println(result) // [4, 8, 12, 16, 20]}4. Null 安全与 Elvis 操作符
Kotlin 的关键特性之一是安全的 null 处理。该库提供了:
- Elvis 操作符 (
?:) — 设置默认值。 - 安全调用 (
?.) — 防止 NullPointerException。 - let 函数 — 仅在对象不为 null 时执行代码。
fun main() { val name: String? = null val length = name?.length ?: 0 println(length) // 0
name?.let { println("Name is not null: $it") }}5. 文件与流操作
标准库包含针对 java.io.File 的便捷扩展:
readText()、writeText()— 读取/写入字符串。readLines()— 逐行读取。useLines()— 安全的流操作。copyTo()、