Integer IntegerCache认识

之前就知道 Integer 会缓存-128-127 的数据,意识说,自动保存这个阶段的数据

于是我就这样测试了以下


Integer i = new Integer(20)

Integer a = new Integer(20)


System.out.println(i==a)

== 是直接比较地址,但是结果是false,后来开始还以自己记错了

后来一看  自己调用new  所以默认新开辟一个空间,所以对象不一样,


Integer a =  Integer.valueOf("10")


Integer i =  Integer.valueOf("10")


System.out.println(i==a)


这样才是true,



对于,在写程序,多用这样的代码,可以提高速度,减少垃圾回收



更加详细的参考

https://blog.csdn.net/lai_li/article/details/52810760


猜你喜欢

转载自blog.csdn.net/qq_33291307/article/details/80578496
今日推荐