a == b的比较结果是true
Integer内部用到了享元设计模式,对于-128~127之间的数字做了一个缓存,使用Integer a = 100进行赋值的时候,Java默认会通过valueOf()这个方法对100进行装箱操作,从而触发了一个缓存机制,使得a和b指向了同一个Integer内存的地址。
对于==和equals的功能不是很难清楚的可以参考 >>【Java】==和equals有什么区别?
a == b的比较结果是true
Integer内部用到了享元设计模式,对于-128~127之间的数字做了一个缓存,使用Integer a = 100进行赋值的时候,Java默认会通过valueOf()这个方法对100进行装箱操作,从而触发了一个缓存机制,使得a和b指向了同一个Integer内存的地址。
对于==和equals的功能不是很难清楚的可以参考 >>【Java】==和equals有什么区别?