案例一 星期:

星期的枚举:enum class 类名 {}

package cn.kotlin.kotlin_oop09

/**
* 定义星期的枚举类
*/
enum class MyEnumerateWeek { 星期一,
星期二,
星期三,
星期四,
星期五,
星期六,
星期日 }

描述处理星期的对象,里面有处理星期的方法:

package cn.kotlin.kotlin_oop09

class MyEnumerateEngin() {

    /**
* 定义处理星期的方法
*/
fun doWeekAction(myEnumerateWeek: MyEnumerateWeek) {
when(myEnumerateWeek) {
MyEnumerateWeek.星期一 ->
{
println("今天是星期一,大家都很忙碌,大家会开会,可能会加班,因为周一特殊....")
}
MyEnumerateWeek.星期二 ->
{
println("今天是星期二,忙碌降低了,应该不会加班....")
}
MyEnumerateWeek.星期三 ->
{
println("今天是星期三,如果不是外包公司的话 应该会打羽毛球或者其他运动.....")
}
MyEnumerateWeek.星期四 ->
{
println("今天是${myEnumerateWeek},明天就是周五了,有点激动....")
}
MyEnumerateWeek.星期五 ->
{
println("今天是${myEnumerateWeek},明天后天不上班,真开心....")
}
MyEnumerateWeek.星期六 ->
{
println("今天是${myEnumerateWeek},玩的不亦乐乎...")
}
MyEnumerateWeek.星期日 -> {
println("今天是${myEnumerateWeek},稍微玩了下,由于明天要开始上班了,烦躁....")
}
}
} }

测试的main方法:

package cn.kotlin.kotlin_oop09

fun main(args: Array<String>) {

    var myEnumerateEngin = MyEnumerateEngin()

    // 枚举值 周五
var myEnumerateWeek = MyEnumerateWeek.星期日 myEnumerateEngin.doWeekAction(myEnumerateWeek)
}

打印的结果:



案例二 性别:

人的性别枚举:

package cn.kotlin.kotlin_oop09

/**
* 定义人的性别 枚举类
*/
enum class MyEnumPersonSex {
男, 女
}

处理人的性别方法:

package cn.kotlin.kotlin_oop09

class MyEnumerateEngin() {

    /**
* 定义处理星期的方法
*/
fun doSexAction(myEnumPersonSex: MyEnumPersonSex) { when(myEnumPersonSex) { MyEnumPersonSex.男 ->
println("张无忌的性别是${myEnumPersonSex}") MyEnumPersonSex.女 ->
print("小昭的性别是${myEnumPersonSex}")
} } }

main测试方法:

package cn.kotlin.kotlin_oop09

fun main(args: Array<String>) {

    var myEnumerateEngin = MyEnumerateEngin()

    // 定义性别的枚举值
var myEnumPersonSex = MyEnumPersonSex.男 myEnumerateEngin.doSexAction(myEnumPersonSex) }

执行结果:


枚举的好处有:

  1.使程序更容易编写和维护

      2.防止用户乱输入,是一种约束

Android-Kotlin-枚举enum的更多相关文章

  1. Android中是否推荐使用枚举Enum

    一.Enum的产生 Java1.5中引入了枚举的语法,包括Enum,EnumSet,EnumMap等.其中Enum就是我们在C或C++中见过的枚举类型,但是Java中的枚举又比C或C++中的枚举更成熟 ...

  2. 关于Java中枚举Enum的深入剖析

    在编程语言中我们,都会接触到枚举类型,通常我们进行有穷的列举来实现一些限定.Java也不例外.Java中的枚举类型为Enum,本文将对枚举进行一些比较深入的剖析. 什么是Enum Enum是自Java ...

  3. MySQL字段之集合(set)枚举(enum)

    MySQL字段之集合(set)枚举(enum) (2008-12-23 13:51:23) 标签:it  分类:MySQL 集合 SET mysql> create table jihe(f1 ...

  4. 枚举 enum

    typedef enum : NSUInteger { <#MyEnumValueA#>, <#MyEnumValueB#>, <#MyEnumValueC#>, ...

  5. 枚举enum学习小记

    参考文献: [1]C++程序设计语言(特别版), 裘宗燕译, 机械工业出版社 [2]C++ Primer (3rd Ed.), S.B. Lippman and J. Lajoie, 人民邮电出版社 ...

  6. Java 枚举(enum) 详解7种常见的用法

    Java 枚举(enum) 详解7种常见的用法 来源 https://blog.csdn.net/qq_27093465/article/details/52180865 JDK1.5引入了新的类型— ...

  7. Python 枚举 enum

    Python 枚举 enum enum 标准模块在 3.4 版本才可以使用,3.3 以下版本需要独立安装:https://pypi.python.org/pypi/enum34#downloads,官 ...

  8. 【转】结构struct 联合Union和枚举Enum的细节讨论

    结构struct 联合Union和枚举Enum的细节讨论 联合(Union)是一种构造数据类型,它提供了一种使不同类型数据类型成员之间共享存储空间的方法,同时可以实现不同类型数据成员之间的自动类型转换 ...

  9. 枚举Enum和常量0之间的恩怨

    1,任何为0的常量表达式都能隐式的转换成枚举Enum. 对于这一点,在程序中没少吃苦头.特别是对于函数重载的情况,往往让人一头雾水. 看看下面的代码(摘自MSDN),你能猜到输出吗? public e ...

  10. C++和Java中枚举enum的用法

    在C++和java中都有枚举enum这个关键字,但是它们之间又不太一样.对于C++来说,枚举是一系列命名了的整型常量,而且从枚举值转化为对应的整型值是在内部进行的.而对于Java来说,枚举更像一个类的 ...

随机推荐

  1. node.js 关于 async的使用

    第一次使用,感觉有点糊涂,后来实验明白了. 在串行执行中,经常会只做了第一步.后来明白了.是没有把回调函数放在里面简单就是:  async.series(                 {     ...

  2. Qt5+VS2010的安装及使用

    在我的博客<Win7下Qt5的安装及使用>中讲解了win7下Qt5+MinGW的安装及使用,本节再讲解win7下Qt5+VS2010的安装及使用.利用Qt5+MinGW开发应用程序比较麻烦 ...

  3. [Robot Framework] 怎么写动态等待?

    举例:Robot Framwork+WhiteLibrary,等待元素可用或不可用 Wait Until Object Is Enabled Wait Until Object Is Not Enab ...

  4. idea properties编码问题

    单个文件设置 全局设置default settings

  5. linux安装dpkg安装缺少依赖项的解决

    问题: dpkg: error processing package rxvt:i386 (--install): dependency problems - leaving unconfigured ...

  6. 使用unidac 在linux 上无驱动直接访问MS SQL SERVER

    随着delphi 10.2 开始了对Linux 的重新支持.devart 也迅速的发布了unidac 7.0, 最大的特性就是支持linux和MongoDB. 并有了其他更新: In this rel ...

  7. 【转】Linux useradd

    Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  8. nginx反向代理缓存服务器的构建

    一:代理服务可简单的分为正向代理和反向代理: 正向代理:用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送 ...

  9. [zhuan]SQLServer查询最近一天,三天,一周,一月,一季度方法

    三天 select * from T_news where datediff(day,addtime,getdate())<= 2 and datediff(day,addtime,getdat ...

  10. java 块语句 和引用类型

    1.java中存在块语句,块语句分为四种 1.静态块 2.普通块 3.构造块 4.同步块 静态块的执行时机是在class文件装载的时候;静态块只会执行一次, 多个静态块的时候,按出现顺序执行,存放类的 ...