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