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)
}