Kotlin-枚举类型
来源:互联网 发布:局域网上网监控软件 编辑:程序博客网 时间:2024/06/02 03:13
枚举类的最基本的用法是实现类型安全枚举
enum class Direction { NORTH, SOUTH, WEST, EAST}
每个枚举常量都是一个对象,每个常量都用逗号分开。
初始化
因为每个枚举类型都是一个枚举类实例,因此它们也可以初始化:
enum class Color(val rgb: Int) { RED(0xFF0000), GREEN(0x00FF00), BLUE(0x0000FF)}
匿名内部类
枚举常量也可以用匿名内部类来声明
enum class ProtocolState { WAITING { override fun signal() = TALKING }, TALKING { override fun signal() = WAITING }; abstract fun signal(): ProtocolState}
跟它们响应的方法一样,最好重写它们的基本方法,需要注意的是,不管枚举定义了多少成员,都是需要用逗号来分割开,这点跟Java很一样。
枚举常量的应用
和Java一样,在Kotlin中的枚举类型也是有合成方法允许列出所有枚举常量,或者根据名称来获取枚举类型的值,这些方法的范例如下:
EnumClass.valueOf(value: String): EnumClassEnumClass.values(): Array<EnumClass>
在valueOf方法中,如果没有匹配这个枚举类型中定义的常量则会抛出IllegalArumentException异常.
在Kotlin1.1以后,还有一种更方便的方法来访问这些常量,这就是使用enumValues()和enumValueOf() 函数:
enum class RGB { RED, GREEN, BLUE }inline fun <reified T : Enum<T>> printAllValues() { print(enumValues<T>().joinToString { it.name })}printAllValues<RGB>() // prints RED, GREEN, BLUE
每个枚举常量都有两个隐性常量:
val name:Stringval ordinal:Int
枚举常量也实现了Comparable接口,那么就是说这些枚举常量可以用来对比
阅读全文
0 0
- Kotlin之枚举类型
- Kotlin-枚举类型
- Kotlin-枚举
- Kotlin 类型
- Kotlin基础教程-枚举类
- 算法:枚举法---kotlin
- Kotlin学习笔记--枚举和Sealed Class(密封、印章类型)
- Kotlin学习之枚举类
- kotlin--嵌套类、枚举、对象
- Kotlin之泛型、枚举
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- CRC校验概念及例解
- JAVA 反射常用的三种机制
- svn+Apache+linux安装
- JAVA垃圾回收详解(收集器分类篇)
- 新鲜出炉的ios开源项目-大熊菜单
- Kotlin-枚举类型
- Java 中的 23 种 设 计 模 式
- 使用Gradle管理你的Android Studio工程
- SpringMVC+Spring+Mybatis(SSM)项目基础架构搭建
- 使用链表定义堆栈,实现pop,push
- 快速排序
- 二叉树的遍历
- 字符串处理---找到第一个不重复的…
- 字符串处理-----从一个字符串中删…