原文
https://www.runoob.com/kotlin/kotlin-basic-types.html
比较符号
Kotlin 中没有基础数据类型,只有封装的数字类型,每定义的一个变量,其实 Kotlin 帮封装了一个对象,这样可以保证不会出现空指针。数字类型也一样,所以在比较两个数字的时候,就有比较数据大小和比较两个对象是否相同的区别了。
在 Kotlin 中,三个等号 === 表示比较对象地址,两个 == 表示比较两个值大小。
- 三个等号 === 表示比较对象地址
- 两个 == 表示比较两个值大小
运行实例
fun main(args : Array<String>) {
val a: Int? = 10000
val b: Int? = 10000
println(a === b) // false,值相等,对象地址不一样
println(a == b) // true,值相等
}
运行结果
false
true
Process finished with exit code 0
有个疑问
上述代码 10000 写 123或100等三位数,就都为true不知道为何?
fun main(args : Array<String>) {
val a: Int? = 100
val b: Int? = 100
println(a === b) // false,值相等,对象地址不一样
println(a == b) // true,值相等
}
运行结果
true
true
Process finished with exit code 0