Java中奇怪的整数装箱
我刚刚看到了类似这样的代码:
public class Scratch{ public static void main(String[] args) { Integer a = 1000, b = 1000; System.out.println(a == b); Integer c = 100, d = 100; System.out.println(c == d); }}
运行时,这段代码将打印出来:
falsetrue
我明白为什么第一个是false因为这两个对象是单独的对象,所以==比较引用。但我不知道为什么第二条语句会回来true?当Integer的值在某个范围内时,是否有一些奇怪的自动装箱规则?这里发生了什么事?
false
==
true
白猪掌柜的
ITMISS
潇潇雨雨
相关分类