Integer a=100,b=200详细比较

最近面试问到的总结下

假如

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对象出来 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章