Kotlin中let的安全调用,非空断言,空合并操作符 ?:以及let函数与空合并操作符使用

//使用let的安全调用,非空断言,空合并操作符 ?:以及let函数与空合并操作符使用
fun main(args:Array<String>){
    var name:String? = null
    name = "yuknight"
    name = ""

    //name是可空类型 如果真的是null,?后面这一段代码不会执行,就不会引发空指针异常
    val r = name?.let {
        //it == name 本身
        //如果能够执行到这里面,it一定不为空
        if (it.isBlank()){//如果name是空值""没有内容
            "Default"
        }else{
            "[$it]"
        }
    }
    println(r)

    //非空断言 !!
    name = "yuknight"
    val n = name !!.capitalize()
    println(n)

    //空合并操作符 ?:
//    var info:String? = "yuknight"
    var info:String? = null
    //空合并操作符 xxx ?: "原来你是null啊" "如果xxx等于null,就会执行?:后面的区域"
    println(info?:"原来你是null")
    //let函数与空合并操作符使用
    println(info?.let { "【$it】" }?:"原来你是null啊")
}

上一篇:Spring事务原理分析(一)--@EnableTransactionManagement 到底做了什么?


下一篇:Flutter状态管理终极方案GetX第一篇——路由(1),Android程序员必会