Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 即使ArrayList具有最终引用,它如何增加大小并指向新位置_Java_Arrays_Arraylist_Collections - Fatal编程技术网

Java 即使ArrayList具有最终引用,它如何增加大小并指向新位置

Java 即使ArrayList具有最终引用,它如何增加大小并指向新位置,java,arrays,arraylist,collections,Java,Arrays,Arraylist,Collections,我有对arraylist的最终引用,我了解到arraylist会在数组超出初始大小后将数组内容内部复制到新位置,然后将新元素添加到新复制的数组中,然后将引用点复制到新位置。那么final引用变量如何指向复制数组的新位置呢?final'只是使对象引用不可更改(即,它所拥有的引用不能替换为新引用)。通过这样做,它指向的对象不是不变的。如果属性是self,并且是可修改的,则可以执行刚才描述的操作 换句话说: 一旦分配了最终变量,它总是包含相同的值。如果最后一个变量包含对对象的引用,则对象的状态可能会因

我有对arraylist的最终引用,我了解到arraylist会在数组超出初始大小后将数组内容内部复制到新位置,然后将新元素添加到新复制的数组中,然后将引用点复制到新位置。那么final引用变量如何指向复制数组的新位置呢?

final'只是使对象引用不可更改(即,它所拥有的引用不能替换为新引用)。通过这样做,它指向的对象不是不变的。如果属性是self,并且是可修改的,则可以执行刚才描述的操作

换句话说: 一旦分配了最终变量,它总是包含相同的值。如果最后一个变量包含对对象的引用,则对象的状态可能会因对该对象的操作而改变,但该变量将始终引用同一对象。这也适用于数组,因为数组是对象;如果最后一个变量包含对数组的引用,则可以通过对数组的操作更改数组的组件,但该变量始终引用同一数组。
因此,在ArrayList的情况下,内部数组是一个实例变量,您可以对其进行修改。

post the code.…ArrayList具有最终引用的事实与列表中的对象无关您具有指向ArrayList的最终引用,而ArrayList具有指向其数据所在数组的非最终引用。它们之间没有任何关系,这与代码无关,在内部,当向ArrayList添加第11个元素时,最终变量如何指向新的位置。询问有关内部工作的信息。它不会指向新的位置。不需要。见我之前的评论。如果你想知道内部工作,你可以查一下ArrayList的源代码。