本文主要是介绍kotlin智能类型转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、在kotlin这中,定义如下类型,在判断不为null的语句里边,会发生类型转换:
fun main(){var a:String? = "XXX" // a 类型为 String? 可能为 null// 在if 语句中,a 的类型为 Stringif(a != null){println(a.length)}// 在下边的代码逻辑,a 的类型为 String?
}
2、不支持的只能转换情况:
定义全局变量时,不会进行智能类型转换
var a:String? = "XXX" // a 类型为 String? 可能为 null
fun main(){// 虽然判断不为空,但其他线程可能修改 a 的值,所以代码编译不会通过if(a != null){println(a.length)}
}
这篇关于kotlin智能类型转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!