ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-08-01 15:34:10  阅读:234  来源: 互联网

标签:Success val kotlin Class result data class Result


一、数据类
二、密封类
通常情况下使用枚举来封装有限的集合值,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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有