Kotlin教程:Elvis运算符(?:)
Elvis
运算符(?:
)用于返回非null
值,即使条件表达式为null
。 它还用于检查值的空安全性。
在某些情况下,可以声明一个保存空引用的变量。 假设一个包含空引用的变量str
,在程序中使用str
之前将检查它的可空性。 如果发现变量str
不为null
,则其属性将使用,否则使用其他非空值。
var str: String? = null
var str2: String? = "May be declare nullable string"
在上面的代码中,str
包含一个null
值,在访问str
的值之前需要执行安全检查,字符串是否包含值。 在传统方法中,使用if...else
语句执行此安全检查。
var len1: Int = if (str != null) str.length else -1
var len2: Int = if (str2 != null) str.length else -1