Java:清算集合中的最佳样式

chr*_*s01 0 java

假设我有一种带有垃圾回收的语言(例如Java)。

for (...)
{
  List <String> lst = new ...
  // do something with lst
  // lst not longer needed for this pass of the loop

  lst.clear ();   
}
Run Code Online (Sandbox Code Playgroud)

循环主体末尾的clear()不是必需的。在下一次传递中,lst将被启动。GC也将释放内存。

但是,清除还是跳过是更好的样式?

Gho*_*ica 7

我认为这是很公平的:添加该呼叫clear()是不正确的做法。

很简单:您努力编写最少的代码,以您能想到的最富表现力的方式完成所需的代码。

因此:您避免放下任何无意义的东西!

clear()后来不使用的集合的A 就是这样:毫无意义。而且,除了在运行时对性能产生影响外,它还容易使读者困惑!“哎呀,他正在清理那东西,为什么呢?”

编程中的第一条规则:不要写令读者惊讶的代码。

  • 但是,@ DigitalJedi存在问题。如果清单存在范围更广,则是否清除将成为正确性的问题,这是根本不同的问题。 (3认同)