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 . 使用enumclass两个关键字来定义一个枚举类

2 . 枚举类的属性直接作为类的参数列表,不需要写在类内部

3 . 可以为枚举类声明方法

4 . 枚举常量的格式必须与枚举类声明的格式一致

5 . 枚举常量和方法之间必须通过;分割(注意:Kotlin中一般不需要写;)

其次,还要注意,在Java中classenum都是关键字,我们声明的变量不能与这些关键字相同。但是在Kotlin中,class是关键字,enum软关键字,当它与class一起使用时才有意义,其他时候都是没有要求和意义的,也就是在Kotlin中我们可以声明一个变量叫enum

写在最后

枚举类可能我们平时使用的比较少,但是其实枚举类的使用可以让我们的代码约束性更强,代码可读性更好。

以上是关于Kotlin系列之枚举类的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin中级- - - Kotlin类之接口枚举.md

Kotlin中级- - - Kotlin类之接口枚举.md

从零开始学Kotlin-枚举

Kotlin 初学者枚举类-密封类-数据类-继承

Kotlin常用的 Kotlin 类 ② ( 枚举类 | 枚举类定义函数 | 密封类 )

Kotlin常用的 Kotlin 类 ② ( 枚举类 | 枚举类定义函数 | 密封类 )