1.空操作符?:
xxx?:“如果是null执行”
如果xxx是null,就执行?:后面的逻辑,如果不是null就执行?:前面的逻辑,后面的不在执行
fun main() {var name:String?="kotlin" name=nullvar 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)
}
执行结果