最近面试问到的总结下
假如
Integer a =100
Integer b =100
a == b 是否为true 我回答的是true
假如
Integer a =200
Integer b =200
a == b 是否为true 我回答的是false
虽然回答对了但是没有说出原理
现在总结如下:
当我们给一个Integer赋予一个int类型的时候会调用Integer的静态方法valueOf
由源码我们可以看到Integer的范围是“-128~127”,当i在这个范围内是从IntegerCache中直接获取,当超越这个范围才会new 一个新的Integer对象出来