java中final修饰的变量不是不能被修改吗?为什么可以add添加?
nb88新博娱乐平台
nb88新博娱乐平台
当前位置 : nb88新博娱乐平台 > 新博唯一授权娱乐平台

java中final修饰的变量不是不能被修改吗?为什么可以add添加?

这个 searchableList 变量本身不能再修改了,而 searchableList 指向的对象是可以修改的。

这个final的用法是final变量,指searchableList 变量的引用不能被更改,已经被锁定在那个ArrayList上了,但是ArrayList本身可以改变。

final是修饰了searchableList这个变量所指向的堆内存空间,比如searchableList是你家房子,被final修饰表示房子不会再改变了,但是里面的内容是可以变的,你还可以往房子里面加东西进去或者删除更新等.

final修饰的searchableList是一个引用,这个引用指向了ArrayList<String>,因此searchableList是不能被修改的,而ArrayList里面是用数组实现的,这个数组是可以往里面添加新的元素的。
当你试图修改searchableList指向的对象ed时候,就报错了

广告位

nb88新博娱乐平台