Skip to content

Kotlin Sealed Class

用途

密封类用于表示受限的类继承结构,常见场景:网络请求结果、UI 状态。

定义

kotlin
sealed class UiState {
    object Loading : UiState()
    data class Success(val data: List<Item>) : UiState()
    data class Error(val message: String) : UiState()
}

when 表达式

编译器会检查是否覆盖所有分支:

kotlin
when (state) {
    is UiState.Loading -> showLoading()
    is UiState.Success -> showData(state.data)
    is UiState.Error -> showError(state.message)
}

基于 VitePress 构建