【Java八股】Integer a1=100,Integer a2=100,a1==a2是true还是false?
a1==a2的执行结果是true,原因是Integer内部用到了一个享元模式的设计,也就是对于-128~127之间的数字做了一个缓存,使用Integer a1=100这个方式进行复制的时候,java默认会通过valueOf这个方法对100这个数字进行一个装箱操作,从而触发了一个缓存机制,使得a1和a2指向了同一个内存地址。
作者:blanset
出处:https://www.cnblogs.com/blanset/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

浙公网安备 33010602011771号