Integer是不可變類,進入一個方法後,在裏面的值的改變不會影響方法外的引用

先看一個方法: 主函數的輸出並沒有像想像中一樣會輸出3,而是輸出初始化的數值 0。 這是因爲與String類似,所有的包裝類都是final類,即不可變類。雖然在代碼A處看起來是改變了counter的值,但實際上是創建了另一個對象,並將方法內的counter參數的引用指向了這個新創建的對象,由於是不同的引用,所以不會對方法外的引用有任何的影響。內存圖如下所示: 在剛進入方法的時候: 執行counte
相關文章
相關標籤/搜索