首页 > 解决方案 > Java:清理收藏品的最佳风格

问题描述

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

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

  lst.clear ();   
}

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

但是,清除或跳过它是更好的风格吗?

标签: java

解决方案


我认为可以公平地说:添加调用clear()是不好的做法。

这很简单:您努力编写最少数量的代码,以您能想到的最具表现力的方式完成您需要的工作。

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

之后不使用的集合的 Aclear()正是:无意义。除了在运行时对性能产生影响之外,它还可能很容易让您的读者感到困惑!“哎呀,他在清理那个东西,这是为什么?”

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


推荐阅读