一、内容提要
在Java中有流程控制语句switch case default,而在Kotlin中则有when else表达式。switch支持基本数据类型、枚举、字符串(java1.7、1.8以后开始支持),其原理最终都会编译成int值进行switch 匹配。而Kotlin的when表达式除了支持java的所有特性以外还支持一定程度的模式匹配,如:when表达式的每个分支都可以带返回值。下面通过实例一块来看看。
二、实战部分
//Java代码 switch (a){ case 0: System.out.println("不错"); break; case 1: System.out.println("很好"); break; case 10: System.out.println("完美"); break; default: System.out.println("默认输出"); break; }
//kotlin代码when (a) { 1 -> println("1") 2 -> println("2") 3 -> println("3") 4 -> println("4") 5, 4, 4, 3 -> println("5") else -> { println("else") } }
三、注意点
由上面的代码我们在明面上可以看出的区别是:
1.Kotlin用when关键字,而Java用switch关键字
2.Kotlin控制分支直接写对应的值,并且用lambda表达式来控制逻辑,而Java必须借助switch case来完成
3.Kotlin输出默认值用else关键字,而Java中输出默认值用default break关键
4.switch 不支持返回值,而when表达式支持返回值
5.when可以接受任意类型的值,而switch只能接受基本数据类行,字符串,枚举
四、结束语
好了,说完了,有时间就抽空练习下呗