Kotlin系列之枚举类
Posted Kotlin实战Android
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin系列之枚举类相关的知识,希望对你有一定的参考价值。
今天我们一起学习Kotlin中的枚举类。
还是以前的惯例,我们要对比Java和Kotlin中的枚举类来学习。
Java中的枚举类
Java中的枚举类是使用enum
关键字声明的,先说说Java枚举类的一些语法规则。
Java代码
public enum Color {
RED("红色", 1), BLUE("蓝色", 2), BLACK("黑色", 3);
String name;
int value;
Color(String name, int value){
this.name = name;
this.value = value;
}
}
1 . 枚举类可以有自己的属性
2 . 枚举类可以有自己的构造方法
3 . 枚举常量的声明必须与枚举类的构造方法相对应
Kotlin中的枚举类
Kotlin中的枚举类声明与Java中的有些相似,我先放上代码,再进行对比。
enum class KotlinEnum(val r: Int, val g: Int, val b: Int, val colorName: String){
RED(255, 255, 255, "红色"), GREEN(0, 255, 0, "绿色"),
BLUE(0, 0, 255, "蓝色");
//定义一个方法
fun rgb() = (r * 256 + g) * 256 + b
}
1 . 使用enum
和class
两个关键字来定义一个枚举类
2 . 枚举类的属性直接作为类的参数列表,不需要写在类内部
3 . 可以为枚举类声明方法
4 . 枚举常量的格式必须与枚举类声明的格式一致
5 . 枚举常量和方法之间必须通过;
分割(注意:Kotlin中一般不需要写;)
其次,还要注意,在Java中class
和enum
都是关键字,我们声明的变量不能与这些关键字相同。但是在Kotlin中,class
是关键字,enum
是软关键字
,当它与class
一起使用时才有意义,其他时候都是没有要求和意义的,也就是在Kotlin中我们可以声明一个变量叫enum
。
写在最后
枚举类可能我们平时使用的比较少,但是其实枚举类的使用可以让我们的代码约束性更强,代码可读性更好。
以上是关于Kotlin系列之枚举类的主要内容,如果未能解决你的问题,请参考以下文章