Kotlin 安全呼叫接线员
示例
要访问可为空类型的函数和属性,必须使用特殊的运算符。
第一个?.给您提供您要访问的属性或函数,如果对象为null,则为null:
val string: String? = "你好,世界!" print(string.length) //编译错误:无法直接访问可为null的属性。 print(string?.length) // Will print the string's length, or "null" if the string is null.
成语:在同一个经过null检查的对象上调用多个方法
调用空检查对象的多种方法的一种优雅方法是使用Kotlin,apply如下所示:
obj?.apply {
foo()
bar()
}这将调用foo和bar上obj(这是this在apply块)仅当obj是非空,否则跳过整个块。
要将可为空的变量作为不可为空的引用引入作用域而又不使其成为函数和属性调用的隐式接收者,则可以使用let代替apply:
nullable?.let { notnull ->
notnull.foo()
notnull.bar()
}notnull可以命名为任何名称,甚至可以省略,并通过隐式lambda参数使用it。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下