java萌新(一)之关于你所不知道的包装类的缓存问题

关于你所不知道的包装类的缓存问题

先让我们来试一下用包装类创建对象做比较:
java萌新(一)之关于你所不知道的包装类的缓存问题
输出结果如下,刚好符合我们想象的结果:(因为"=="是判断两个变量或者实例是否指向同一个内存空间,而"equals"是判断所指内存空间的值是否相等)
java萌新(一)之关于你所不知道的包装类的缓存问题

接下来我又添加一组数据测试:

java萌新(一)之关于你所不知道的包装类的缓存问题
发现输出结果如下:
java萌新(一)之关于你所不知道的包装类的缓存问题
我当时就蒙了,怎麽不按常理出牌,接着就进去看到了源码:
java萌新(一)之关于你所不知道的包装类的缓存问题
可以发现在进入的时候就自动默认会生成-128到127的缓存。
接着往下看:
java萌新(一)之关于你所不知道的包装类的缓存问题
原来只要在-128到127之间,就直接会从缓存中取,这也就解释了为什么结果会是两个true。

第一次写博客,新手上路,请见谅。