Kotlin系列之when关键字

今天,我们来学习一下Kotlin的when关键字。

关键字是一个有返回值的表达式,也就是它可以返回一个值。下面说说它的各种用法。

when处理枚举类

在Java中我们一般使用来处理枚举类,比如我想对每一种枚举值返回一个结果,就可以使用switch来处理。这种处理的需求在Kotlin中使用关键字来完成。下面是具体的代码。

Kotlin枚举类

Java使用switch处理枚举类

Kotlin使用when处理枚举类

是不是简洁了很多,当枚举常量匹配时,返回对应的箭头后面的值。由于这里是表达式,有返回值。同时这里的也可以让我们不需要显式指定函数返回值类型。

同时上面的代码不需要写,当我们需要多个匹配项目返回同一个值时,我们可以这样写。

Kotlin多个匹配项目返回同一个值

when匹配任意对象

Java中的的分支条件必须是、和。而Kotlin中的可以使用任何对象,我们这里举一个简单的颜色混合的例子来说明。

Kotlin代码

上面的例子中的对应于Java里面的,它也是不关注其中元素的顺序。所以上面的枚举匹配时也不会关注于元素的顺序,只要其中的元素是匹配的即可。分支等同于里面的分支,当与所有项都不匹配时执行。

不带参数的when

我们注意到,上面的对象在比较时,必须要创建额外的集合对象,这在性能上会有一定的损失,这里我们使用另外一种方法实现上面同样的功能,同时避免额外的对象创建。

Kotlin代码

虽然代码量有所增加,可读性也好像变差了一些,但是少了对象的创建,性能有所提升。

写在最后

上面的例子看出Kotlin的设计理念就是简洁明了,用更少的代码做更多的事,后续我们还会提到关键字的其他使用场景。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180112G02WYT00?refer=cp_1026

相关快讯

扫码关注云+社区