输出的结果是:
true
false
从java的源代码中就可以找到原因:
java在编译的时候 Integer a = 100; 被翻译成-> Integer a = Integer.valueOf(100); ,对-128~127这256个值做了缓存放到IntegerCache做了缓存,对于上一次已经创建的,再使用的时候就不会再创建了。
但是对于如下的需要注意:
返回:false
是因为a++的时候是创建了另外一个对象
输出的结果是:
true
false
从java的源代码中就可以找到原因:
java在编译的时候 Integer a = 100; 被翻译成-> Integer a = Integer.valueOf(100); ,对-128~127这256个值做了缓存放到IntegerCache做了缓存,对于上一次已经创建的,再使用的时候就不会再创建了。
但是对于如下的需要注意:
返回:false
是因为a++的时候是创建了另外一个对象