我有这段代码用于 Stack 的 pop 方法,我试图弄清楚它如何避免徘徊,同时仍然返回我们的索引当前指向的元素:
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 呢?这不会使项目指向任何东西并且什么都不返回吗?