kotlin 中的枚举类和 “when”
来源:互联网 发布:长沙黑马程序员 编辑:程序博客网 时间:2024/06/03 11:34
文章目录
- 场景
- 枚举类
- when
- 总结
场景
java 中的枚举类还有 switch 结构跟 kotlin 中的有什么不同,怎么更好更快的学习它们
枚举类
- kotlin 枚举类的结构: enum + class + 类名
- kotlin 是默认可见性,所以 public 可以省略
- 注意:enum 在 kotlin 中,只有在 class 前面才是有特殊意义的(表示枚举)。
看下面 java 与kotlin 的对比
//javapublic enum Colors { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET}
//kotlinenum class Colors{ RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET}
when
- 在 kotlin 中使用 when 取代 java 中的 switch 结构
- 可以使用 lambda 表达式,简化代码
//javapackage javas;public class SwitchEnums { public static void main(String[] args){ SwitchEnums switchEnums = new SwitchEnums(); String chinese = switchEnums.getChinese(Colors.GREEN); System.out.println(chinese); } public String getChinese(Colors color){ String strColor =null; switch(color){ case RED: strColor = "红"; break; case ORANGE: strColor = "橙"; break; case YELLOW: strColor = "黄"; break; case GREEN: strColor = "绿"; break; case BLUE: strColor = "蓝"; break; case INDIGO: strColor = "靛"; break; case VIOLET: strColor = "紫"; break; default: } return strColor; }}
//kotlinpackage kotlinsenum class Colors{ RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET}fun getChinese(color: Colors) = when(color){ //when 是一个有返回值的表达式,因此可以返回 when 表达式的 表达式函数 Colors.RED -> "红" //颜色和枚举常量相等,返回对应的字符串 Colors.ORANGE -> "橙" Colors.YELLOW -> "黄" Colors.GREEN -> "绿" Colors.BLUE -> "蓝" Colors.INDIGO -> "靛" Colors.VIOLET -> "紫" }fun main(args: Array<String>){ println(getChinese(Colors.GREEN))}
总结
- kotlin 枚举类和 when 还是很容易掌握的
- 比较中发现 kotlin 看起来简化好多代码,看起来更直观
- 我们可以通过与熟悉的语言进行对比,更好更快的学习另外一门语言
如果对你有一点点帮助,请点个赞,你的鼓励就是我写作的动力。谢谢!
欢迎长按下图 -> 识别图中二维码 或者 扫一扫 关注我的公众号:
我的csdn:http://blog.csdn.net/shenshizhong
我的简书:http://www.jianshu.com/u/345daf0211ad
阅读全文
1 0
- kotlin 中的枚举类和 “when”
- Kotlin中的when替代android 中的switch
- Kotlin基础教程-枚举类
- Kotlin 中的 if、when、for、while
- kotlin中的when:强大的switch
- Kotlin类和对象 (十)--- 枚举类
- Kotlin学习之枚举类
- kotlin--嵌套类、枚举、对象
- Kotlin 中的 类 和 继承 (一)
- Kotlin 中的 类 和 继承 (二)
- Kotlin-枚举
- kotlin学习day10: 枚举和字符串模板
- Kotlin編程when文
- Kotlin中的各种类
- Kotlin 第十三章:嵌套类、枚举类
- Kotlin-17.枚举类(enum class)
- Kotlin学习之-5.10 枚举类
- Kotlin特殊类(枚举、内部类)
- 类的默认成员函数
- lintcode 22.平面列表
- FileZilla远端登录虚拟机Linux
- FastJSON将String转为Bean文件(可用于Activity间的Bean文件传递)
- 关于用MyEclipse6.6,jdk1.8,class不编译的问题
- kotlin 中的枚举类和 “when”
- 宽度固定高度按原图比例适应的ImageView
- PAT 1129. Recommendation System (25) 数数
- Test
- LeetCode-37-Sudoku Solver, list转字符串join,回溯
- 第一章 编译程序概述
- 【不想活了】DELPHI 运行程序出现System Error. Code: 5. 拒绝访问。
- Ubuntu 下实现FTP服务器,SSH服务器,邮件服务器,Web服务器(四)
- 欢迎使用CSDN-markdown编辑器