我對堆棧的pop方法這段代碼,我想弄清楚它是如何避免遊蕩,同時還返回,我們的指標目前指向的元素:java的遊蕩和垃圾收集
public String pop()
{ // Remove item from top of stack.
String item = a[--N];
a[N] = null; // Avoid loitering (see text).
if (N > 0 && N == a.length/4) resize(a.length/2);
return item;
}
從我可以理解的,我們將我們的String對象的引用項目指向我們數組a的索引元素(我們從最後一個使用它的當前大小爲N-1的元素開始,因此是遞減)。那麼如果我們要返回引用,爲什麼我們在設置引用指向null的索引元素之前呢?這是不是讓這個項目指向什麼也不返回?
Java中的引用始終是_copied_,所以通過修改數組中的內容,您不會更改從中得到的內容。 –