今天想学习kotlin的基础语法,从官网下载了个文档!关于数值比较有点不理解,官网例子:
/***
fun main(args: Array<String>) {
val a: Int = 10000 println(a === a) // true,值相等,对象地址相等 //经过了装箱,创建了两个不同的对象
val boxedA: Int? = a
val anotherBoxedA: Int? = a //虽然经过了装箱,但是值是相等的,都是10000
println(boxedA === anotherBoxedA) // false,值相等,对象地址不一样
println(boxedA == anotherBoxedA) // true,值相等}
***/
关于a = 100两个都是ftrue的问题,百度到了,因为虚拟机自动缓存-128 ~ 127!现在想知道,为什么我把?去掉,两种比较为什么都是true???
附上:

/***
fun main(args: Array<String>) {
val a: Int = 10000 println(a === a) // true,值相等,对象地址相等 //经过了装箱,创建了两个不同的对象
val boxedA: Int? = a
val anotherBoxedA: Int? = a //虽然经过了装箱,但是值是相等的,都是10000
println(boxedA === anotherBoxedA) // false,值相等,对象地址不一样
println(boxedA == anotherBoxedA) // true,值相等}
***/
关于a = 100两个都是ftrue的问题,百度到了,因为虚拟机自动缓存-128 ~ 127!现在想知道,为什么我把?去掉,两种比较为什么都是true???
附上:


叫什么啊









