其他分享
首页 > 其他分享> > kotlin 之 数据类data class,密封类Sealed Class

kotlin 之 数据类data class,密封类Sealed Class

作者:互联网

一、数据类
二、密封类
通常情况下使用枚举来封装有限的集合值,kotlin提供了新的解决方法 Sealed Class 密封类
/**
* 密封类,封装类
* 1、通常限定一些有限集合的状态值,如
* 网络状态:成功,失败
* 账户状态:vip,普通
* 2、与when配合使用,无需if-else
*/
1、定义
sealed class Result<out T : Any> {
    data class Success<out T : Any>(val data: T) : Result<T>()
    data class Error(val exception: Exception) : Result<Nothing>()
}

 2、使用

    private fun testSealed() {
        val result = if (true) {
            Result.Success("success")
        } else {
            Result.Error(Exception("error"))
        }
        when (result) {
            is Result.Success -> print(result.data)
            is Result.Error -> print(result.exception)
        }
    }

 

标签:Success,val,kotlin,Class,result,data,class,Result
来源: https://www.cnblogs.com/suiyilaile/p/16540501.html