美文网首页
Kotlin ==,===,equals

Kotlin ==,===,equals

作者: 谜夨_ | 来源:发表于2020-11-06 16:46 被阅读0次

== 比较值(类似于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
}

相关文章

网友评论

      本文标题:Kotlin ==,===,equals

      本文链接:https://www.haomeiwen.com/subject/urbtbktx.html