Kt学习笔记(八)枚举、扩展

空扰寡人 提交于 2019-12-11 03:21:30

一、枚举

1.1枚举类的基本使用
  • Kt 枚举类型以类的形式存在
  • 每一个枚举值都是一个对象, 多个枚举值用(",")分开
enum class Direction
{
    NORTH,SOUTH,WEST,EAST
}

使用

 //定义一个枚举类变量
    var direction : Direction
    //  定义一个枚举类变量, 并初始化
    var direction2 : Direction = Direction.NORTH
    //未指定数据类型, 通过右侧的赋值自动检测类型
    var direction3 = Direction.SOUTH

    var direction4 = Direction.WEST

    if(direction3 == direction4)
    {
        println("枚举类型值相等")
    }else{
        println("枚举类型值 bu 相等")
    }
 //引用枚举类中的值, 需要加上枚举类名
    println(Direction.WEST)
1.2为枚举值指定对应的数值
enum class Direction private constructor(val d : Int)
{
    NORTH(1),SOUTH(2),WEST(3),EAST(4);

    override fun toString(): String {
        return d.toString()
    }
}

在这里插入图片描述

1.3枚举类的其他用法
  • 获取枚举值名称和索引
  //  定义一个枚举类变量, 并初始化
    var direction2 : Direction = Direction.NORTH
    //获取枚举值名称和索引
    println(direction2.name)
    println(direction2.ordinal)

  • 通过valueOf方法传入枚举值名称来获取枚举值对应的数值
//通过valueOf方法传入枚举值名称来获取枚举值对应的数值
    println(Direction.valueOf("WEST"))
  • 获取枚举类中所有的枚举值对应的数值
 for (d in Direction.values()){
        println(d)
    }
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!