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