Kotlin 标准库:全面概述

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

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()、

推荐