通常没有。
但是像所有事物一样:这取决于。如今,Java中的GC非常好,应在无法访问所有内容后不久对其进行清理。这只是在为局部变量保留方法之后,并且不再为字段引用类实例时。
如果你知道否则将保留引用,则只需要显式设置null。例如,保留的数组。你可能想在不再需要数组的各个元素时将它们为空。
例如,来自ArrayList的以下代码:
public E remove(int index) { RangeCheck(index); modCount++; E oldValue = (E) elementData[index]; int numMoved = size - index - 1; if (numMoved > 0) System.arraycopy(elementData, index+1, elementData, index, numMoved); elementData[--size] = null; // Let gc do its work return oldValue;}同样,只要没有引用保留,显式将对象清为空将不会导致它比自然超出范围自然早被收集。
都:
void foo() { Object o = new Object(); /// do stuff with o}和:
void foo() { Object o = new Object(); /// do stuff with o o = null;}在功能上是等效的。



