Kotlin学习(三)之--?. ?: 以及断言符 和 == ===的区分

移动开发 创建于:2022-01-16

一.
xx ?. ----> 非null 则执行 ?. 后面的逻辑
xx ?: -----> null则执行 ?: 后面的逻辑
xx !!. ------> 断言符,不管是否为null 都一定执行 !!. 后面的逻辑

 println(name?.let { "$it" } ?:"我是null") 
 //name为null则返回"我是null",否则返回它自己
println(name!!.let { "$it" }) 
//不管name是不是null都执行函数,不过当为null的时候则报空指针错误

二.

==  相当于Java的 equals,只要内容相等就返回true
=== 相当于Java的 ==, 当引用的对象为同一个时才返回 true,即地址也要相同
    var name1 : String ?= "ALLEN"
    var name2 = "ALLEN"
    var name3 = "allen".toUpperCase()
    println(name1 == name2) //true
    println(name1 == name3) //true
    println(name1 === name3) //false

原文地址:https://blog.csdn.net/XJ200012/article/details/122458062

免责声明:本文来源于互联网,版权归合法拥有者所有,如有侵权请公众号联系管理员

* 本站提供的一些文章、资料是供学习研究之用,如用于商业用途,请购买正版。

Allen_ZXJ