我对kotlin的基本语法有疑问。 在kotlin中,如果将基本类型替换为可为空的类型,则将得到装箱。 人们认为它们并不相同。 但是,在字节范围(-128至127)中,它们被视为相同,并且 我调查了问题的原因,找不到任何有用的信息。 如果有人认识,请教我。
这是官方网站。 https://kotlinlang.org/docs/reference/basic-types.html
var a: Int = 127
var numA: Int? = a
var numB: Int? = a
println(numA === numB) // true
答案 0 :(得分:0)
文档说它不一定保留身份,并举例说明了身份。我猜想对于字节范围,有一些预定义的常量可用来减少对象流失。 Java Integer
类在相同的范围内执行类似的操作,因为这是Java语言规范的一部分。