代码:
Integer a1 = 100;
Integer a2 = 100;
System.out.println(a1 == a2); // true
Integer b1 = new Integer(100);
Integer b2 = new Integer(100);
System.out.println(b1 == b2); // false
Integer c1 = 150;
Integer c2 = 150;
System.out.println(c1 == c2); // false
Java 设计在使用 AutoBoxing 时,-128 和 127 之间的值似乎引用相同的 Integer 对象,这导致第一个代码片段和最后一个代码片段的结果不同
我的问题是:java为什么要这样设计,有什么好处吗?