假设我有一些使用数组存储值的堆栈实现.弹出时,可以简单地更改我的"指针"值所指的位置,还是应该将当前数组位置设置为null?
public T pop() {
size--;
return stack[size];
}
Run Code Online (Sandbox Code Playgroud)
与
public T pop() {
size--;
T result = stack[size];
stack[size] = null;
return result;
}
Run Code Online (Sandbox Code Playgroud)
如果未设置为null,则堆栈仍将保留对先前堆栈中对象的引用.它可能导致内存泄漏,因为只要有东西持有对象的引用,垃圾收集器就不会释放内存.
所以,设置stack[size]为null.
| 归档时间: |
|
| 查看次数: |
40 次 |
| 最近记录: |