深入理解java 整型數, Integer的緩存
Integer類實質上也是一個普通的java類,即使值相同,也是不同的對象。
例如
1
2
3
|
Integer a = 148 ; Integer b = 148 ; System.out.println(a==b); |
這時輸出為false. 很容易理解。
但是如果把值換成48.
1
2
3
|
Integer a = 48 ; Integer b = 48 ; System.out.println(a==b); |
這時就會發現輸出變成了true。原因是jdk對128以下的整數作了緩存,當聲明兩個值為48的Integer對象時,其實是指向同一位置。
當然也可以強制聲明一個新的Integer對象。
1
2
3
|
Integer a = 48 ; Integer b = new Integer( 48 ); System.out.println(a==b); |
這時輸出就變成false了
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://www.cnblogs.com/buptl/p/6520658.html