因为时间很短,所以内容不是很复杂,写一个有价值的小知识,主要是为了保持每日学习和写作的习惯,大作还是会写到相关的主题里面,尽量做到周更。敬请关注本人的主要作品集:
为了能够最大限度的保证文章的质量,日更主要采用翻译的方法来完成。本系列将主要翻译Kotlin官网的内容。具体的地址
https://kotlinlang.org/docs/home.html
三十一, 空安全-使用安全调用
若要安全地访问可能包含null值的对象的属性,请使用安全调用运算符?.
。如果对象的属性为null,则安全调用运算符返回null。如果您希望避免在代码中出现触发错误的null值,这将非常有用。
在以下示例中,lengthString() 函数使用安全调用返回字符串的长度或null:
fun lengthString(maybeString: String?): Int? = maybeString?.length
fun main() {
var nullString: String? = null
println(lengthString(nullString))
// null
}
空安全可以方便的进行链式调用,这样,如果对象的任何属性包含null值,则返回null而不会引发错误。例如:
person.company?.address?.country
安全调用运算符也可以用于安全地调用扩展函数或成员函数。在这种情况下,在调用函数之前会执行null检查。如果检查检测到null值,则跳过调用并返回null。
在以下示例中,nullString为null,因此将跳过对.oppercase() 的调用并返回null:
fun main() {
var nullString: String? = null
println(nullString?.uppercase())
// null
}
网友评论