请问为什么结果为true啊,不是说int范
围只能在-128到127吗之间吗?
你通过反编译就知道了 - Integer和int类型用 == 比较的时候 Intege会自动拆箱调用intValue 也就是字面量的值
你如果是两个Integer类型的对象用 == 比较内存地址 那么是 调用Integer.valueOf 里边有个IntegerCache 缓存 缓存的是 -128~127的对象 这里边是相等的
-128到127 是byte的范围,不是int
int范围是-2^31 --- 2^31-1,你记差了!你说的是byte范围
当int和Integer进行比较,是拆箱装箱的过程,值相等==就是TRUE