" Es kommt darauf an "
Ich kenne Java nicht, aber in .net (C #, VB.net ...) ist es normalerweise nicht erforderlich, eine Null zuzuweisen, wenn Sie kein Objekt mehr benötigen.
Beachten Sie jedoch, dass dies "normalerweise nicht erforderlich" ist.
Durch die Analyse Ihres Codes bewertet der .net-Compiler die Lebensdauer der Variablen gut ... um genau zu erkennen, wann das Objekt nicht mehr verwendet wird. Wenn Sie also obj = null schreiben, sieht es möglicherweise so aus, als ob das obj noch verwendet wird. In diesem Fall ist es kontraproduktiv, eine Null zuzuweisen.
Es gibt einige Fälle, in denen es tatsächlich hilfreich sein kann, eine Null zuzuweisen. Ein Beispiel ist, dass Sie einen riesigen Code haben, der lange ausgeführt wird, oder eine Methode, die in einem anderen Thread oder einer Schleife ausgeführt wird. In solchen Fällen kann es hilfreich sein, null zuzuweisen, damit der GC leicht erkennen kann, dass er nicht mehr verwendet wird.
Hierfür gibt es keine feste Regel. Gehen Sie an der obigen Stelle vorbei und weisen Sie Ihrem Code Null-Zuweisungen zu. Führen Sie einen Profiler aus, um festzustellen, ob dies in irgendeiner Weise hilfreich ist. Höchstwahrscheinlich sehen Sie keinen Nutzen.
Wenn es sich um .net-Code handelt, den Sie optimieren möchten, ist es meiner Erfahrung nach vorteilhafter, mit Dispose- und Finalize-Methoden vorsichtig umzugehen, als sich um Nullen zu kümmern.
Einige Referenzen zum Thema:
http://blogs.msdn.com/csharpfaq/archive/2004/03/26/97229.aspx
http://weblogs.asp.net/pwilson/archive/2004/02/20/77422.aspx