let常常和?.配合使用,如果前面的对象为null,let不执行,能够执行到let里面 对象一定不为null
1.不为null
kotlin
fun main() {
var name:String?="kotlin" //name是一个可空类型,发出广播,调用的地方必须补救措施
var r = name?.let{
//it==name,如果能执行到这个里面it一定不为null
if(it.isBlank()){ //如果it=""打印
"default"
}else{
"$it"
}
}
println(r)
}
执行结果
2.为" "
kotlin
var name:String?=" " //name是一个可空类型,发出广播,调用的地方必须补救措施
var r = name?.let{
//it==name,如果能执行到这个里面it一定不为null
if(it.isBlank()){ //如果it=""打印
"default"
}else{
"$it"
}
}
println(r)
}
执行结果
3.为null
kotlin
fun main() {
var name:String?=null //name是一个可空类型,发出广播,调用的地方必须补救措施
var r = name?.let{
//it==name,如果能执行到这个里面it一定不为null
if(it.isBlank()){ //如果it=""打印
"default"
}else{
"$it"
}
}
println(r)
}
执行结果