1.空操作符?:
xxx?:“如果是null执行”
如果xxx是null,就执行?:后面的逻辑,如果不是null就执行?:前面的逻辑,后面的不在执行
fun main() {
var name:String?="kotlin"
name=null
var r=name?:"我是null"//如果name==null,就执行?:后面的逻辑,如果不是null就执行?:前面的逻辑,后面的不在执行
println(r)
}
执行结果
2.使用let+?:
fun main() {
var name:String?="kotlin"
name=null
//如果name==null,就执行?:后面的逻辑,如果不是null就执行?:前面的逻辑,后面的不在执行
//name==null,let里面的不执行。name?.let{"$it"}==null,执行?:后面的逻辑
var r=name?.let{"$it"}?:"我是null"
println(r)
}
执行结果