Kotlin 中没有基础数据类型,只有封装的数字类型,你每定义的一个变量,其实 Kotlin 帮你封装了一个对象,
这样可以保证不会出现空指针。数字类型也一样,所有在比较两个数字的时候,就有比较数据大小和比较两个对象是否相同的区别了。
在 Kotlin 中,三个等号 === 表示比较对象地址,两个 == 表示比较两个值大小
fun main(args: Array<String>) {
val a = 1000
//true ,值相等,对象地址相等
println(a === a)
//简单赋值
var boxA = a
var boxB = a
//经过了装箱,创建了两个不同的对象,对象的创建可以查看其它文章内容
//?表示可控类型,为null,后面的文章会单独提到
val boxedA: Int? = a
val anotherBoxedA: Int? = a
println(boxA == boxB) //true,值相等
println(boxA === boxB)//true ,对象地址一样
println(boxedA == anotherBoxedA)//true,值相等
println(boxedA === anotherBoxedA)//false ,值相等,对象地址不一样
}