静态检查错误:避免在循环中实例化新对象

时间:2012-12-04 12:25:53

标签: java

我有以下循环,我得到了PMD静态检查消息:避免在循环中实例化新对象 Voc是构造函数。 我需要在每个循环中创建新实例,有不同的方式吗?

for (AnnoValue currValue : collection.getValues())
{

Voc(termName, this.nameSpace, this.alias);

}

1 个答案:

答案 0 :(得分:0)

首先确保无论如何你可以为每次迭代重用这个Voc实例。在这种情况下,将此实例创建移出循环,并可能在循环开始时清除状态信息。

Voc vocInst = new Voc();
vocInst.setNamespace(this.nameSpace);
vocInst.setAlias(this.alias);
for (AnnoValue currValue : collection.getValues())
{
  vocInst.clear();
  vocInst.setTermName(termName); // I believe this is local variable and the rest of the parameters are instance variables.
  .....
  .....
}