0

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

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

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

}
4

1 回答 1

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.
  .....
  .....
}
于 2012-12-04T14:08:36.503 回答