包装类值判断异常
复现代码
1 | public class Test { |
输出结果
1 | a == b: true |
原因分析
1 | ==是用来比较两个基本数据类型的变量值是否相等,==也用于判断两个对象引用名称是否参考至同一个对象。在自动装箱时对于值从–128到127之间的值,它们被装箱为Integer对象后,会存在内存中被重用(就是说内存指向相同),所以造成 System.out.println(a == b); 输出true |
1 | public class Test { |
1 | a == b: true |
1 | ==是用来比较两个基本数据类型的变量值是否相等,==也用于判断两个对象引用名称是否参考至同一个对象。在自动装箱时对于值从–128到127之间的值,它们被装箱为Integer对象后,会存在内存中被重用(就是说内存指向相同),所以造成 System.out.println(a == b); 输出true |