Kotlin的身份不正常

根据kotlin的参考 ,这段代码应该打印“真”

val a: Int = 10000 print(a identityEquals a) 

但是当我尝试它(版本是0.12.1218),它打印“假”。 为什么?

2015/07/29更新

如果放入[-128〜127],则打印“真”。 正如安德烈所说,应该使用===

identityEquals即将被弃用,使用===

我找到了Andrey Breslav的解释 。

原因是在引擎之下,Int不是一个引用类型:它是由一个基本的int表示的,但是当你调用identityEquals时,谁的签名是Any?.identityEquals(Any?),它的两个操作数都被装箱,结果我们有两个不同的对象。 我们将通过引入用于Java基元的identityEquals的重载来解决这个问题。

到现在还没有确定。 官方的参考应该解释这一点。 它困扰了我好几个小时。