我陷入Kotlin中的原始变量中。我所有的困惑都从下面的代码开始
fun main(ar: Array<String>)
{
val a:Int = 1
val boxedA1:Int? = a
val boxedA2:Int? = a
println(boxedA1 === boxedA2) //Print true
val b: Int = 10000
val boxedB1: Int? = b
val boxedB2: Int? = b
println(boxedB1 === boxedB2) //Print false
}
在上面的代码中,第一个打印语句打印true
,第二个打印语句打印false
。代码两部分之间唯一的不同点是初始值(a = 1和b = 10000)。谁能告诉我为什么在a
和b
都是原始变量的情况下打印不同结果的原因。我也知道三等号"==="
是引用相等运算符,如果返回,则返回true
并且仅当两个引用指向同一对象时。