Kotlin ==,===,equals

== 比较值(类似于java中的 equals
=== 比较地址


fun main() {
    val value1: String = "abc123";
    val value2: String = "Abc";
    val value3: String = "Abc";
    println(value1 == value2) //false
    println(value2 == value3)   //true
    println(value2 === value3)//true
   //////////////////////////////////////////// 
    val a : Int = 5
    val a1 : Int? = a
    val a2 : Int? = a
    println(a1 == a2)    // true
    println(a1 === a2)   // true
   //////////////////////////////////////////// 
    val b : Int = 1000000
    val b1 : Int? = b
    val b2 : Int? = b
    println(b1 == b2)    // true
    println(b1 === b2)   // false
    /**
    *   为false 原因:
    *   Integer不在范围 -128~127,中是会对int装箱
    *   如果在这个范围内并且缓存中存在,则不会创建新的对象,即此范围内的值相等的Integer对象
    */

}

equals
有2个方法
equals(other: Any?): Boolean
这个函数就是类似于==
String?.equals(other: String?, ignoreCase: Boolean = false): Boolean
这个函数支队String类型,ignoreCase表示是否忽略打小写

fun main() {
    val value1: String = "abc";
    val value2: String = "Abc";

    println(value1.equals(value2)) //此处编译器会提示你变成 ==
    println(value1.equals(value2,true)) 
    println(value1.equals(value2,false))

    //false
    //true
    //false
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容