不再使用后 ,将 在某个时候 将其收集 为
垃圾。我相信在Java的当前实现中,它实际上将一直保留到方法结束时,而.NET中的垃圾收集器则更具侵略性。(即使在Java中,我也不知道是否有任何保证。通常,您只
希望 在调试时将局部变量保留到其上次可能读取的范围之外。)
但是,不,您不需要将变量设置为null,否则会损害可读性。
方法退出后,对象不太可能 立即
进行垃圾回收;这取决于GC的运行时间……而且,当然,如果有任何其他保留该对象的引用,则该对象可能仍不适合进行垃圾收集。不要忘记变量的值只是一个引用,而不是对象本身。(这可能需要一段时间才能习惯于C
++。)



