第 18 课2026.09.23
在上一课显示错误消息后,只为错误状态提供重试入口。
第 18 课:用 is 判断可重试错误状态
- 日期:2026-09-23
- 课程序号:第 18 课
- 知识点:
is类型检查
用途或适用场景
在上一课显示错误消息后,只为错误状态提供重试入口。
核心概念
is State.Error 可检查密封状态的具体分支,并返回布尔值;这里不改变上一课穷尽 when 的文字映射。
最小代码或操作示例
kotlin
// 沿用第 16 课的 State 声明与 label 函数。
fun canRetry(state: State): Boolean = state is State.Error
fun main() {
println(label(State.Error("网络失败"))) // 网络失败
println(canRetry(State.Error("网络失败"))) // true
println(canRetry(State.Loading)) // false
}3~5 分钟练习
传入 State.Ready(3),判断是否可重试。
参考答案
canRetry(State.Ready(3)) 返回 false,成功状态不显示重试入口。
与上一课的联系
沿用第 17 课的三种 State 与带空白文案处理的 label;本课只新增 is 判断错误分支;完成后下一课可进一步限制无消息的错误状态不提供重试入口。
时效校验
时效校验:2026-09-24(Kotlin 当前 Type checks and casts 官方文档;已核对 is 对子类型的判断,未见废弃标记)。