- Kotlin编程实战:创建优雅、富于表现力和高性能的JVM与Android应用程序
- (美)文卡特·苏布拉马尼亚姆
- 254字
- 2025-02-27 12:54:50
6.3.4 使用带有when的类型检查和智能转换
我们可以在一个when表达式或语句中使用is和!is以及智能转换。
我们在4.3节中看到过下面的whatToDo()函数:

when中的一个路径使用is运算符执行类型检查,来验证给定参数在运行时是否为类型String。我们可以更进一步,在该路径中使用String的属性和方法,而不需要进行任何显式转换。例如,可以将String类型的路径改为:

尽管在函数的参数列表中dayOfWeek的类型为Any——并且只在此路径中——我们能够将该引用用作类型String。这是Kotlin的智能转换能力再次发挥了作用。智能转换是我们的盟友,要尽可能地依靠它。
有时你会希望进行显式转换,Kotlin为此提供了一些选项。