第一种 默认是不可空类型,报错
val name: String = null
第二种 声明为可空类型
val name1: String? = null
因为name1可能是null,所以不可以直接调用,?.调用?后边不执行,所以可以这样写
let可以把name拿进来用
val r = name1?.let {
if (it.isBlank()) {
"A"
} else {
it
}
}
null合并操作符
println(name1 ?: "好吧,null啦")
第三种 断言,确定不为空时使用,有Java空指针异常的风险
name1!!.let {
"A"
}
网友评论