搜尋

首頁  >  問答  >  主體

java中final修飾的變數不是不能被修改嗎?為什麼可以add新增?

怪我咯怪我咯2887 天前757

全部回覆(4)我來回復

  • 黄舟

    黄舟2017-04-18 10:57:12

    這個 searchableList 變數本身不能再修改了,而 searchableList 指向的物件是可以修改的。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:57:12

    這個final的用法是final變量,指searchableList 變數的參考不能被更改,已經被鎖在那個ArrayList上了,但是ArrayList本身可以改變。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 10:57:12

    final是修飾了searchableList這個變數所指向的堆內存空間,例如searchableList是你家房子,被final修飾表示房子不會再改變了,但是裡面的內容是可以變的,你還可以往房子裡面加東西進去或刪除更新等.

    回覆
    0
  • 高洛峰

    高洛峰2017-04-18 10:57:12

    final修飾的searchableList是一個引用,這個引用指向了ArrayList,因此searchableList是不能被修改的,而ArrayList裡面是用數組實現的,這個數組是可以往裡面添加新的元素的。
    當你試圖修改searchableList指向的對象ed時候,就報錯了

    回覆
    0
  • 取消回覆