第 14 课2026.09.17
让 sealed class 的不同状态携带各自需要的数据。
第 14 课:sealed状态携带数据
- 日期:2026-09-17
- 课程序号:第 14 课
- 知识点:sealed状态携带数据
用途
让 sealed class 的不同状态携带各自需要的数据。
核心概念
每个子类型只暴露该状态有效的数据,when 仍可穷尽处理。
最小代码或操作示例
text
sealed class UiState {
data object Loading : UiState()
data class Ready(val count: Int) : UiState()
}3~5 分钟练习
创建一个 UiState 类型变量,值为 UiState.Ready(3)。
参考答案
val state: UiState = UiState.Ready(3)。
与上一课的联系
继承上一课的穷尽 when;本课只让状态携带数据;下一课可在 Ready 分支读取 count。
时效校验
时效校验:2026-09-21(当前 Kotlin 2.4.20;data object 自 Kotlin 1.9 起稳定,未见本课方案的废弃标记)。