kotlin学习笔记——枚举、封闭类
1、枚举
enum Icon(val res: Int){MENU(R.drawable.menu),BACK(R.drawable.back)
}val backIcon = Icon.BACK.res
枚举可以通过字符串匹配名字来获取,也可以得到所以枚举的array,如
val back: Icon = Icon.valueOf("BACK")
val icons: Array<Icon> = Icon.values()
枚举也提供一些函数来获取名字和声明的位置
val name: String = Icon.BACK.name()
val position: Int = Icon.BACK.ordinal()
枚举根据顺序实现了Comparable接口,所以可以很方便的进行排序
2、封闭类sealed
sealed class Icon{class Menu(val id: Int) : Icon()class Back(val url: String) : Icon()object None : Icon()
}
可以看到它有固定个数的子类,而且子类与父类一起被定义出来。与enum不同的是,枚举的实例是唯一的,而封闭类可以有多个实例,它可以有不同的状态。
val result: String = when(icon){is Menu -> "xxx" + icon.idis Back -> icon.urlis None -> ""
}
3、异常Excaption
总结:
kotlin学习笔记——枚举、封闭类相关推荐
- Kotlin学习笔记12——数据类和密封类
Kotlin学习笔记12--数据类和密封类 前言 数据类 在类体中声明的属性 复制 componentN 解构声明 密封类 尾巴 前言 上一篇,我们学习了Kotlin中的拓展,今天继续来学习Kotli ...
- Kotlin学习笔记 第二章 类与对象 第十一节 枚举类 第八节密封类
参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...
- Kotlin学习笔记 第二章 类与对象 第十四 十五节 委托 委托属性
参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...
- Kotlin学习笔记 第二章 类与对象 第七节 数据类
参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...
- Kotlin学习笔记 第二章 类与对象 第一节类与继承(补)
参考链接 Kotlin官方文档 Kotlin docs | Kotlin 本系列为参考Kotlin中文文档 kotlin官方文档2020版.pdf-其它文档类资源-CSDN下载 第二章 第一节 类与继 ...
- Kotlin学习笔记 第二章 类与对象 第十二 十三节 对象表达式与对象声明 类型别名
参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...
- Kotlin学习笔记 第二章 类与对象 第十节 内部类嵌套类
参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...
- Kotlin学习笔记 第二章 类与对象 第五节 可见性 第六节 扩展
参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...
- Kotlin学习笔记 第二章 类与对象 第三节接口 第四节 函数式接口
参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...
最新文章
- PXE全自动安装操作系统--centos7.3学习笔记
- 内江将被打造成四川物联网西部副中心
- centos 7 文档服务器,centos 7 web服务器
- [Go] go get获取官方库被墙解决
- 插入数据到hive_Hive实现网站PV分析
- php js动态删除数组元素,javascript如何删除数组中的指定元素
- 个人成长:拉开你和同龄人差距的100个顶级认知
- 夫妻两一个两年内3张卡9次逾期,一人4次,还能办理房贷吗?
- asp中日期时间函数介绍
- OpenCV入门及应用案例:手把手教你做DNN图像分类
- 机器学习速成课程 | 练习 | Google Development——编程练习:逻辑回归
- 利用SVN的post-commit钩子实现多项目自动同步
- P1540 机器翻译 模拟
- 隐藏a标签seo_SEO网站优化,新手SEO常犯的五个错误!
- MySQL8.0.19解压安装教程
- 在腾讯云 EMR 上使用 GooseFS 加速大数据计算服务
- NMOS、PMOS、PNP、NPN三极管 做开关使用时的电路设计
- python - 数据类型
- html怎么实现计算bmi,利用Javascript实现BMI计算器
- 两款Windows系统优化工具
热门文章
- 批量scp脚本——从多台机器拷贝文件
- @noi.ac - 488@ cleaner
- luogu P2791 幼儿园篮球题
- the little schemer 笔记(7)
- Oracle分析函数-rank() over(partition by...order by...)
- HDU——1418抱歉(平面欧拉公式)
- linux mysql 操作命令
- 经Apache将tomcat转用80port这两个域名
- 健身小管家--android app源码
- PETS公共英语三级大纲词汇4107个-D