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

时间:2017-06-23 11:37:19

标签: java arrays arraylist collections

我最后引用了arraylist,我已经知道ArrayList在内部用完初始大小后会将数组内容复制到新位置,然后将新元素添加到新复制的数组中,然后引用指向新位置。那么最终引用变量如何指向复制数组的新位置?

1 个答案:

答案 0 :(得分:0)

最终'简单地使对象引用不可更改(即,它具有的引用可以用新的引用替换)。它指向的对象不是一成不变的。如果属性是self是可修改的,那么可以按照你刚才描述的那样做。

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