kotlin吧 关注:2,666贴子:3,716
  • 4回复贴,共1

关于?号的疑惑,求解

只看楼主收藏回复

今天想学习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???
附上:


IP属地:江苏1楼2018-08-22 10:48回复
    有?是Integer,去掉?是int


    IP属地:浙江来自Android客户端4楼2018-08-23 20:25
    回复(3)