Kotlin学习笔记(3)-when
来源:互联网 发布:打码识别软件 编辑:程序博客网 时间:2024/05/18 09:14
java中的switch被kotlin中的when取代。
我们都知道,java中的switch有非常多不好用的地方,例如只能使用于原始类型和字符串,经常会忘写break导致bug….总之我都是尽量不用switch,而用if elseif的。不过在kotlin中,这些问题都得到了很好的解决,我们看看when是怎么起作用的。
1.首先when是一个表达式,而不像java里的switch是一个单纯的执行顺序控制,when会返回对应的值,同时我们之前也说过,如果方法只有一条表达式,那么可以不用写 return,所以这个方法就是返回color对应的字符串
2.kotlin里的when操作的对象可以是任意对象,而不用限制在原始类型中。
3.kotlin里不用写break,每个分支都会自动插入break
如果想要多个值对应到一个结果,可以这样写
之前说过when可以作用于任意对象类型,我们再来看看这个特性有多大的好处吧
1.setOf是kotlin的一个全局方法,返回一个set对象,所以when进行比较的是set对象,又因为set对象是没有顺序的数据结构,所以在kotlin中,只要两个set包含的元素相等,则两个set相等。
2.set之间进行比较
3.else相当于java中的default块
从上图可以看到,如果java需要进行这种比较,估计需要多写一倍的代码,但是kotlin通过一个功能强大的when以及其他一些语法糖能够快速写出一个可读性强,又精简的代码块。
阅读全文
0 0
- Kotlin学习笔记(3)-when
- kotlin学习笔记3
- Kotlin语言学习之when表达式使用
- Kotlin学习--控制语法之when
- Kotlin学习笔记(3)- 语法
- Kotlin学习笔记
- Kotlin 学习笔记-01
- Kotlin学习笔记
- kotlin学习笔记
- Kotlin : 学习笔记一
- Kotlin学习笔记
- Kotlin学习笔记
- Kotlin学习笔记-大纲
- kotlin 学习笔记
- kotlin学习笔记
- kotlin学习笔记1
- kotlin学习笔记2
- kotlin学习笔记
- 《维特根斯坦—天才之为责任》读书笔记 -- Tell them I've had a wonderful life
- kmp 模板
- 图像分割单词
- 闰年
- C++事务型内存技术规范:第1章(英文)
- Kotlin学习笔记(3)-when
- 二叉树的遍历规则
- JSP:Java Server Page(1)
- 放大器的作用随谈
- MySQL查询语句练习题45题版
- 类创建时,变量及构造器初始化顺序
- Java多文件打包为一个压缩包下载
- 欢迎使用CSDN-markdown编辑器
- python Note III